head 1.7; access; symbols pkgsrc-2016Q2:1.6.0.6 pkgsrc-2016Q2-base:1.6 pkgsrc-2016Q1:1.6.0.4 pkgsrc-2016Q1-base:1.6 pkgsrc-2015Q4:1.6.0.2 pkgsrc-2015Q4-base:1.6 pkgsrc-2015Q1:1.3.0.18 pkgsrc-2015Q1-base:1.3 pkgsrc-2014Q4:1.3.0.16 pkgsrc-2014Q4-base:1.3 pkgsrc-2014Q3:1.3.0.14 pkgsrc-2014Q3-base:1.3 pkgsrc-2014Q2:1.3.0.12 pkgsrc-2014Q2-base:1.3 pkgsrc-2014Q1:1.3.0.10 pkgsrc-2014Q1-base:1.3 pkgsrc-2013Q4:1.3.0.8 pkgsrc-2013Q4-base:1.3 pkgsrc-2013Q3:1.3.0.6 pkgsrc-2013Q3-base:1.3 pkgsrc-2013Q2:1.3.0.4 pkgsrc-2013Q2-base:1.3 pkgsrc-2013Q1:1.3.0.2 pkgsrc-2013Q1-base:1.3 pkgsrc-2012Q4:1.2.0.8 pkgsrc-2012Q4-base:1.2 pkgsrc-2012Q3:1.2.0.6 pkgsrc-2012Q3-base:1.2 pkgsrc-2012Q2:1.2.0.4 pkgsrc-2012Q2-base:1.2 pkgsrc-2012Q1:1.2.0.2 pkgsrc-2012Q1-base:1.2 pkgsrc-2011Q4:1.1.0.2 pkgsrc-2011Q4-base:1.1; locks; strict; comment @;; @; 1.7 date 2016.08.23.05.10.48; author adam; state dead; branches; next 1.6; commitid 5PIgrv1XtFOt7ojz; 1.6 date 2015.11.13.11.36.44; author wiz; state Exp; branches; next 1.5; commitid KFbb7Ehui9mHaVIy; 1.5 date 2015.11.13.10.42.23; author wiz; state Exp; branches; next 1.4; commitid YbslFGsuvW1e5VIy; 1.4 date 2015.04.03.07.41.26; author mrg; state dead; branches; next 1.3; commitid HjchnsCySB9wh7gy; 1.3 date 2013.01.31.20.30.26; author adam; state Exp; branches; next 1.2; 1.2 date 2012.02.21.13.18.19; author drochner; state Exp; branches; next 1.1; 1.1 date 2011.11.16.21.30.07; author is; state Exp; branches; next ; desc @@ 1.7 log @Changes in GMP 6.1.1 BUGS FIXED * Make Intel Broadwell configurations work on Windows. FEATURES * Work around faulty cpuid on some recent Intel chips (this allows GMP to run on Skylake Pentiums). * Support thumb-less ARM chips. @ text @$NetBSD: patch-mpn_arm_invert__limb.asm,v 1.6 2015/11/13 11:36:44 wiz Exp $ --- mpn/arm/invert_limb.asm.orig 2015-11-01 15:19:49.000000000 +0000 +++ mpn/arm/invert_limb.asm @@@@ -52,7 +52,10 @@@@ PROLOGUE(mpn_invert_limb) adds r1, r12, r0 adc r3, r3, r0 rsb r0, r3, r2 - bx lr +ifdef(`ARM_THUMB_MODE', +` bx lr +',` mov pc, lr +') EPILOGUE() RODATA @ 1.6 log @Update gmp to 6.1.0: Changes between GMP version 6.0.* and 6.1.0 BUGS FIXED * 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 32-bit ABI. SPEEDUPS * 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. FEATURES * 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 integers. * Support for Darwin in all x86 code, thereby enabling fat builds on Darwin. * 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. MISC * 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. @ text @d1 1 a1 1 $NetBSD: patch-mpn_arm_invert__limb.asm,v 1.5 2015/11/13 10:42:23 wiz Exp $ @ 1.5 log @Split a patch into standard patches. date: 2015-04-03 09:41:26 +0200; author: mrg; state: Exp; commitid: HjchnsCySB9wh7gy; port some changes from netbsd gmp and adapt them to the gmp 6.x. this allows devel/gmp to build on armv4. @ text @d1 1 a1 1 $NetBSD$ d3 1 a3 1 --- mpn/arm/invert_limb.asm.orig 2014-03-25 14:37:55.000000000 +0000 d16 1 a16 1 .section .rodata @ 1.4 log @port some changes from netbsd gmp and adapt them to the gmp 6.x. this allows devel/gmp to build on armv4. @ text @d1 1 a1 1 $NetBSD: patch-mpn_arm_invert__limb.asm,v 1.3 2013/01/31 20:30:26 adam Exp $ d3 1 a3 1 --- mpn/arm/invert_limb.asm.orig 2012-12-18 19:05:09.000000000 +0000 d5 1 a5 1 @@@@ -41,7 +41,7 @@@@ PROLOGUE(mpn_invert_limb) d10 4 a13 1 + mov pc,lr @ 1.3 log @Changes 5.1.0: BUGS FIXED * When reading a C++ number (like mpz_class) in an istream reaches the end of the stream, the eofbit is now set. * The result sign of mpz_rootrem's remainder is now always correct. * The mpz_remove function now handles negative divisors. * Contains all fixes from release 5.0.5. SPEEDUPS * The n-factorial and n-over-k functions have been reimplemented for great speedups for small and large operands. * New subquadratic algorithm for the Kronecker/Jacobi/Legendre symbol. * Major speedup for ARM, in particular ARM Cortex-A9 and A15, thanks to broad assembly support. * Significant speedup or POWER6 and POWER7 thanks to improved assembly. * The performance under M$ Windows' 64-bit ABI has been greatly improved thanks to complete assembly support. * Minor speed improvements of many functions and for many platforms. FEATURES * Many new CPUs recognised. * New functions for multi-factorials, and primorial: mpz_2fac_ui, mpz_mfac_uiui and mpz_primorial_ui. * The mpz_powm_sec function now uses side-channel silent division for converting into Montgomery residues. * The fat binary mechanism is now more robust in its CPU recognition. MISC * Inclusion of assembly code is now controlled by the configure options --enable-assembly and --disable-assembly. The "none" CPU targets is gone. * In C++, the conversions mpq_class->mpz_class, mpf_class->mpz_class and mpf_class->mpq_class are now explicit. * Includes "mini-gmp", a small, portable, but less efficient, implementation of a subset of GMP's mpn and mpz interfaces. Used in GMP bootstrap, but it can also be bundled with applications as a fallback when the real GMP library is unavailable. * The ABIs under AIX are no longer called aix32 and aix64, but mode64 and 32. This is more consistent with other powerpc systems. * The coverage of the testsuite has been improved, using the lcov tool. See also http://gmplib.org/devel/lcov/. * It is now possible to compile GMP using a C++ compiler. * K&R C compilers are no longer supported. * The BSD MP compatibility functions have been removed. @ text @d1 1 a1 1 $NetBSD$ @ 1.2 log @update to 5.0.4 changes: -bugfixes -New CPUs recognised @ text @d3 1 a3 1 --- mpn/arm/invert_limb.asm.orig 2012-01-27 08:59:30.000000000 +0000 d5 1 a5 1 @@@@ -42,7 +42,7 @@@@ L(2): add r2, pc, r2 d11 1 d13 1 a13 2 ALIGN(4) L(4): .word approx_tab-8-512-L(2) @ 1.1 log @Make this work on thumbless CPUs. @ text @d3 1 a3 1 --- mpn/arm/invert_limb.asm.orig 2011-05-08 09:49:29.000000000 +0000 d6 3 a8 3 adds r1, r3, r0 adc r12, r12, r0 rsb r0, r12, r2 @