head 1.2; access; symbols pkgsrc-2015Q3:1.1.0.12 pkgsrc-2015Q3-base:1.1 pkgsrc-2015Q2:1.1.0.10 pkgsrc-2015Q2-base:1.1 pkgsrc-2015Q1:1.1.0.8 pkgsrc-2015Q1-base:1.1 pkgsrc-2014Q4:1.1.0.6 pkgsrc-2014Q4-base:1.1 pkgsrc-2014Q3:1.1.0.4 pkgsrc-2014Q3-base:1.1 pkgsrc-2014Q2:1.1.0.2 pkgsrc-2014Q2-base:1.1; locks; strict; comment @;; @; 1.2 date 2015.11.13.11.36.44; author wiz; state dead; branches; next 1.1; commitid KFbb7Ehui9mHaVIy; 1.1 date 2014.04.18.10.49.01; author adam; state Exp; branches; next ; commitid 2jFUBLoh3p9wz9xx; desc @@ 1.2 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 @$NetBSD: patch-mpn_x86__64_k8_redc_1.asm,v 1.1 2014/04/18 10:49:01 adam Exp $ Workaround for Darwin assembler quirk. https://gmplib.org/repo/gmp/raw-rev/1fab0adc5ff7 --- mpn/x86_64/k8/redc_1.asm.orig 2014-03-25 14:37:55.000000000 +0000 +++ mpn/x86_64/k8/redc_1.asm @@@@ -114,7 +114,7 @@@@ ifdef(`PIC',` JUMPTABSECT ALIGN(8) -L(tab): JMPENT( L(0m4), L(tab)) +L(tab): JMPENT( L(0), L(tab)) JMPENT( L(1), L(tab)) JMPENT( L(2), L(tab)) JMPENT( L(3), L(tab)) @@@@ -397,6 +397,7 @@@@ L(le1): add %r10, (up) ALIGN(16) +L(0): L(0m4): L(lo0): mov (mp,nneg,8), %rax mov nneg, i @ 1.1 log @Fixed building on Darwin. @ text @d1 1 a1 1 $NetBSD$ @