From 0a26ad082c7178795506225fb9ec129690effa98 Mon Sep 17 00:00:00 2001 From: pkova Date: Thu, 17 Oct 2024 11:30:29 +0000 Subject: [PATCH 1/6] build: upgrade gmp to 6.3.0 --- ext/gmp/build.zig | 1 + ext/gmp/build.zig.zon | 4 +-- ext/gmp/gen/aarch64-linux/config.h | 20 ++++++----- ext/gmp/gen/aarch64-linux/sieve_table.h | 46 +++++++++++++++++++++++++ ext/gmp/gen/x86_64-linux/sieve_table.h | 46 +++++++++++++++++++++++++ 5 files changed, 107 insertions(+), 10 deletions(-) create mode 100644 ext/gmp/gen/aarch64-linux/sieve_table.h create mode 100644 ext/gmp/gen/x86_64-linux/sieve_table.h diff --git a/ext/gmp/build.zig b/ext/gmp/build.zig index 2444000e3d..576e18aa7a 100644 --- a/ext/gmp/build.zig +++ b/ext/gmp/build.zig @@ -563,6 +563,7 @@ const generic_c_sources = [_][]const u8{ "mpn/generic/mulmid_basecase.c", "mpn/generic/mulmid_n.c", "mpn/generic/mulmod_bnm1.c", + "mpn/generic/mulmod_bknp1.c", "mpn/generic/neg.c", "mpn/generic/nussbaumer_mul.c", "mpn/generic/perfpow.c", diff --git a/ext/gmp/build.zig.zon b/ext/gmp/build.zig.zon index 3349cef8a6..47538723d8 100644 --- a/ext/gmp/build.zig.zon +++ b/ext/gmp/build.zig.zon @@ -3,8 +3,8 @@ .version = "0.0.1", .dependencies = .{ .gmp = .{ - .url = "https://github.com/alisw/GMP/archive/refs/tags/v6.2.1.tar.gz", - .hash = "12209dd340fd48ad775604d2d4e95155dcf106b8f6c63dd054641d606e2007d806f4", + .url = "https://ftp.gnu.org/gnu/gmp/gmp-6.3.0.tar.gz", + .hash = "1220d46202c17aa35ab5848a7f7a812b797c9f07698f263c8a02b4ad9640a1bbe0e3", }, }, .paths = .{ diff --git a/ext/gmp/gen/aarch64-linux/config.h b/ext/gmp/gen/aarch64-linux/config.h index d2e56c8c54..ad9547c325 100644 --- a/ext/gmp/gen/aarch64-linux/config.h +++ b/ext/gmp/gen/aarch64-linux/config.h @@ -3,7 +3,7 @@ /* -Copyright 1996-2020 Free Software Foundation, Inc. +Copyright 1996-2022 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -187,6 +187,7 @@ see https://www.gnu.org/licenses/. /* #undef HAVE_HOST_CPU_skylake */ /* #undef HAVE_HOST_CPU_silvermont */ /* #undef HAVE_HOST_CPU_goldmont */ +/* #undef HAVE_HOST_CPU_tremont */ /* #undef HAVE_HOST_CPU_k8 */ /* #undef HAVE_HOST_CPU_k10 */ /* #undef HAVE_HOST_CPU_bulldozer */ @@ -201,6 +202,9 @@ see https://www.gnu.org/licenses/. /* #undef HAVE_HOST_CPU_s390_z9 */ /* #undef HAVE_HOST_CPU_s390_z10 */ /* #undef HAVE_HOST_CPU_s390_z196 */ +/* #undef HAVE_HOST_CPU_s390_z13 */ +/* #undef HAVE_HOST_CPU_s390_z14 */ +/* #undef HAVE_HOST_CPU_s390_z15 */ /* Define to 1 iff we have a s390 with 64-bit registers. */ /* #undef HAVE_HOST_CPU_s390_zarch */ @@ -300,7 +304,7 @@ see https://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_div_qr_2 */ /* #undef HAVE_NATIVE_mpn_divexact_1 */ /* #undef HAVE_NATIVE_mpn_divexact_by3c */ -/* #undef HAVE_NATIVE_mpn_divrem_1 */ +#define HAVE_NATIVE_mpn_divrem_1 1 /* #undef HAVE_NATIVE_mpn_divrem_1c */ /* #undef HAVE_NATIVE_mpn_divrem_2 */ /* #undef HAVE_NATIVE_mpn_gcd_1 */ @@ -333,7 +337,7 @@ see https://www.gnu.org/licenses/. #define HAVE_NATIVE_mpn_nand_n 1 #define HAVE_NATIVE_mpn_nior_n 1 #define HAVE_NATIVE_mpn_popcount 1 -/* #undef HAVE_NATIVE_mpn_preinv_divrem_1 */ +#define HAVE_NATIVE_mpn_preinv_divrem_1 1 /* #undef HAVE_NATIVE_mpn_preinv_mod_1 */ /* #undef HAVE_NATIVE_mpn_redc_1 */ /* #undef HAVE_NATIVE_mpn_redc_2 */ @@ -382,7 +386,7 @@ see https://www.gnu.org/licenses/. #define HAVE_NL_TYPES_H 1 /* Define to 1 if you have the `obstack_vprintf' function. */ -/* #define HAVE_OBSTACK_VPRINTF 1 */ +/* #undef HAVE_OBSTACK_VPRINTF 1 */ /* Define to 1 if you have the `popen' function. */ #define HAVE_POPEN 1 @@ -542,13 +546,13 @@ see https://www.gnu.org/licenses/. #define PACKAGE "gmp" /* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org, see https://gmplib.org/manual/Reporting-Bugs.html" +#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org (see https://gmplib.org/manual/Reporting-Bugs.html)" /* Define to the full name of this package. */ #define PACKAGE_NAME "GNU MP" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU MP 6.2.1" +#define PACKAGE_STRING "GNU MP 6.3.0" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gmp" @@ -557,7 +561,7 @@ see https://www.gnu.org/licenses/. #define PACKAGE_URL "http://www.gnu.org/software/gmp/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "6.2.1" +#define PACKAGE_VERSION "6.3.0" /* Define as the return type of signal handlers (`int' or `void'). */ #define RETSIGTYPE void @@ -590,7 +594,7 @@ see https://www.gnu.org/licenses/. #define TUNE_SQR_TOOM2_MAX SQR_TOOM2_MAX_GENERIC /* Version number of package */ -#define VERSION "6.2.1" +#define VERSION "6.3.0" /* Define to 1 to enable ASSERT checking, per --enable-assert */ /* #undef WANT_ASSERT */ diff --git a/ext/gmp/gen/aarch64-linux/sieve_table.h b/ext/gmp/gen/aarch64-linux/sieve_table.h new file mode 100644 index 0000000000..ee9ac14360 --- /dev/null +++ b/ext/gmp/gen/aarch64-linux/sieve_table.h @@ -0,0 +1,46 @@ +/* This file generated by gen-sieve.c - DO NOT EDIT. */ + +#if GMP_LIMB_BITS != 64 +Error, error, this data is for 64 bits +#endif + +#define PRIMESIEVE_INIT_TABLE \ + CNST_LIMB (0x3294C9E069128480), /* 5 - 196 (42 primes) */ \ + CNST_LIMB (0x95A35E1EC4AB21DC), /* 197 - 388 (32 primes) */ \ + CNST_LIMB (0x4AD7CE99B8693366), /* 389 - 580 (30 primes) */ \ + CNST_LIMB (0x6595B6DA728DC52B), /* 581 - 772 (30 primes) */ \ + CNST_LIMB (0xEA6D9F8787B0CEDE), /* 773 - 964 (26 primes) */ \ + CNST_LIMB (0x3F56A1F4CD3275A9), /* 965 - 1156 (29 primes) */ \ + CNST_LIMB (0xFD3848FB74A76ADB), /* 1157 - 1348 (26 primes) */ \ + CNST_LIMB (0xDBBA0DD1A1EDF6AF), /* 1349 - 1540 (25 primes) */ \ + CNST_LIMB (0xCEC7F17ED22799A5), /* 1541 - 1732 (27 primes) */ \ + CNST_LIMB (0xEAEC17BDBB717D56), /* 1733 - 1924 (24 primes) */ \ + CNST_LIMB (0x3B0EB7B3585AFCF3), /* 1925 - 2116 (26 primes) */ \ + CNST_LIMB (0xE563D8F69FDF6C4F), /* 2117 - 2308 (23 primes) */ \ + CNST_LIMB (0xFE5BA7ABA45E92FC), /* 2309 - 2500 (25 primes) */ \ + CNST_LIMB (0x158DEE6F3BF49B7D), /* 2501 - 2692 (24 primes) */ \ + CNST_LIMB (0xBE5A7BC4EDE6CD1A), /* 2693 - 2884 (26 primes) */ \ + CNST_LIMB (0xD7679B3FCA7BB6AD), /* 2885 - 3076 (22 primes) */ \ + CNST_LIMB (0xC3F66B971FEF37E9), /* 3077 - 3268 (22 primes) */ \ + CNST_LIMB (0x6F7EBCF339C953FD), /* 3269 - 3460 (22 primes) */ \ + CNST_LIMB (0xD5A5ECDCD235DBF0), /* 3461 - 3652 (27 primes) */ \ + CNST_LIMB (0xECFA7B2FD5B65E3B), /* 3653 - 3844 (22 primes) */ \ + CNST_LIMB (0xD28EFDF9C89F67B1), /* 3845 - 4036 (25 primes) */ \ + CNST_LIMB (0xCB7F7C7A3DD3AF4F), /* 4037 - 4228 (21 primes) */ \ + CNST_LIMB (0xEEBED6CDFF6B32CC), /* 4229 - 4420 (22 primes) */ \ + CNST_LIMB (0xD5BD73F85ECFA97C), /* 4421 - 4612 (23 primes) */ \ + CNST_LIMB (0x21FDBE4FBBAD48F7), /* 4613 - 4804 (24 primes) */ \ + CNST_LIMB (0x5E35A3B5EEB7FDE7), /* 4805 - 4996 (21 primes) */ \ + CNST_LIMB (0xD9EBFD53A7DBBCC9), /* 4997 - 5188 (22 primes) */ \ + CNST_LIMB (0xFF9EDEAF2EFE1F76), /* 5189 - 5380 (18 primes) */ +#define PRIMESIEVE_NUMBEROF_TABLE 28 +/* #define PRIMESIEVE_PRIMES_IN_TABLE 706 */ +#define PRIMESIEVE_HIGHEST_PRIME 5351 +/* #define PRIMESIEVE_FIRST_UNCHECKED 5381 */ + +#define SIEVE_MASK1 CNST_LIMB(0x3204C1A049120485) +#define SIEVE_MASKT CNST_LIMB(0xA1204892058) +#define SIEVE_2MSK1 CNST_LIMB(0x29048402110840A) +#define SIEVE_2MSK2 CNST_LIMB(0x9402180C40230184) +#define SIEVE_2MSKT CNST_LIMB(0x5021088402120) + diff --git a/ext/gmp/gen/x86_64-linux/sieve_table.h b/ext/gmp/gen/x86_64-linux/sieve_table.h new file mode 100644 index 0000000000..ee9ac14360 --- /dev/null +++ b/ext/gmp/gen/x86_64-linux/sieve_table.h @@ -0,0 +1,46 @@ +/* This file generated by gen-sieve.c - DO NOT EDIT. */ + +#if GMP_LIMB_BITS != 64 +Error, error, this data is for 64 bits +#endif + +#define PRIMESIEVE_INIT_TABLE \ + CNST_LIMB (0x3294C9E069128480), /* 5 - 196 (42 primes) */ \ + CNST_LIMB (0x95A35E1EC4AB21DC), /* 197 - 388 (32 primes) */ \ + CNST_LIMB (0x4AD7CE99B8693366), /* 389 - 580 (30 primes) */ \ + CNST_LIMB (0x6595B6DA728DC52B), /* 581 - 772 (30 primes) */ \ + CNST_LIMB (0xEA6D9F8787B0CEDE), /* 773 - 964 (26 primes) */ \ + CNST_LIMB (0x3F56A1F4CD3275A9), /* 965 - 1156 (29 primes) */ \ + CNST_LIMB (0xFD3848FB74A76ADB), /* 1157 - 1348 (26 primes) */ \ + CNST_LIMB (0xDBBA0DD1A1EDF6AF), /* 1349 - 1540 (25 primes) */ \ + CNST_LIMB (0xCEC7F17ED22799A5), /* 1541 - 1732 (27 primes) */ \ + CNST_LIMB (0xEAEC17BDBB717D56), /* 1733 - 1924 (24 primes) */ \ + CNST_LIMB (0x3B0EB7B3585AFCF3), /* 1925 - 2116 (26 primes) */ \ + CNST_LIMB (0xE563D8F69FDF6C4F), /* 2117 - 2308 (23 primes) */ \ + CNST_LIMB (0xFE5BA7ABA45E92FC), /* 2309 - 2500 (25 primes) */ \ + CNST_LIMB (0x158DEE6F3BF49B7D), /* 2501 - 2692 (24 primes) */ \ + CNST_LIMB (0xBE5A7BC4EDE6CD1A), /* 2693 - 2884 (26 primes) */ \ + CNST_LIMB (0xD7679B3FCA7BB6AD), /* 2885 - 3076 (22 primes) */ \ + CNST_LIMB (0xC3F66B971FEF37E9), /* 3077 - 3268 (22 primes) */ \ + CNST_LIMB (0x6F7EBCF339C953FD), /* 3269 - 3460 (22 primes) */ \ + CNST_LIMB (0xD5A5ECDCD235DBF0), /* 3461 - 3652 (27 primes) */ \ + CNST_LIMB (0xECFA7B2FD5B65E3B), /* 3653 - 3844 (22 primes) */ \ + CNST_LIMB (0xD28EFDF9C89F67B1), /* 3845 - 4036 (25 primes) */ \ + CNST_LIMB (0xCB7F7C7A3DD3AF4F), /* 4037 - 4228 (21 primes) */ \ + CNST_LIMB (0xEEBED6CDFF6B32CC), /* 4229 - 4420 (22 primes) */ \ + CNST_LIMB (0xD5BD73F85ECFA97C), /* 4421 - 4612 (23 primes) */ \ + CNST_LIMB (0x21FDBE4FBBAD48F7), /* 4613 - 4804 (24 primes) */ \ + CNST_LIMB (0x5E35A3B5EEB7FDE7), /* 4805 - 4996 (21 primes) */ \ + CNST_LIMB (0xD9EBFD53A7DBBCC9), /* 4997 - 5188 (22 primes) */ \ + CNST_LIMB (0xFF9EDEAF2EFE1F76), /* 5189 - 5380 (18 primes) */ +#define PRIMESIEVE_NUMBEROF_TABLE 28 +/* #define PRIMESIEVE_PRIMES_IN_TABLE 706 */ +#define PRIMESIEVE_HIGHEST_PRIME 5351 +/* #define PRIMESIEVE_FIRST_UNCHECKED 5381 */ + +#define SIEVE_MASK1 CNST_LIMB(0x3204C1A049120485) +#define SIEVE_MASKT CNST_LIMB(0xA1204892058) +#define SIEVE_2MSK1 CNST_LIMB(0x29048402110840A) +#define SIEVE_2MSK2 CNST_LIMB(0x9402180C40230184) +#define SIEVE_2MSKT CNST_LIMB(0x5021088402120) + From d0e666577518654c80c98ec7e26e3606db0bc17d Mon Sep 17 00:00:00 2001 From: pkova Date: Thu, 17 Oct 2024 11:30:29 +0000 Subject: [PATCH 2/6] build: upgrade gmp to 6.3.0 --- ext/gmp/build.zig | 1 + ext/gmp/build.zig.zon | 4 +- ext/gmp/gen/aarch64-linux/config.h | 20 ++++--- ext/gmp/gen/aarch64-linux/sieve_table.h | 46 ++++++++++++++++ ext/gmp/gen/aarch64-macos/mpn/add_n.s | 12 ++--- ext/gmp/gen/aarch64-macos/mpn/addlsh1_n.s | 12 ++--- ext/gmp/gen/aarch64-macos/mpn/addlsh2_n.s | 12 ++--- ext/gmp/gen/aarch64-macos/mpn/addmul_1.s | 5 ++ ext/gmp/gen/aarch64-macos/mpn/and_n.s | 12 ++--- ext/gmp/gen/aarch64-macos/mpn/andn_n.s | 12 ++--- ext/gmp/gen/aarch64-macos/mpn/cnd_add_n.s | 12 ++--- ext/gmp/gen/aarch64-macos/mpn/cnd_sub_n.s | 12 ++--- ext/gmp/gen/aarch64-macos/mpn/com.s | 52 +++++++++++-------- ext/gmp/gen/aarch64-macos/mpn/copyd.s | 42 ++++++--------- ext/gmp/gen/aarch64-macos/mpn/copyi.s | 28 +++++----- ext/gmp/gen/aarch64-macos/mpn/ior_n.s | 12 ++--- ext/gmp/gen/aarch64-macos/mpn/iorn_n.s | 12 ++--- ext/gmp/gen/aarch64-macos/mpn/lshift.s | 10 ++-- ext/gmp/gen/aarch64-macos/mpn/lshiftc.s | 10 ++-- ext/gmp/gen/aarch64-macos/mpn/mul_1.s | 15 +++--- ext/gmp/gen/aarch64-macos/mpn/nand_n.s | 12 ++--- ext/gmp/gen/aarch64-macos/mpn/nior_n.s | 12 ++--- ext/gmp/gen/aarch64-macos/mpn/rsblsh1_n.s | 12 ++--- ext/gmp/gen/aarch64-macos/mpn/rsblsh2_n.s | 12 ++--- ext/gmp/gen/aarch64-macos/mpn/rsh1add_n.s | 20 +++---- ext/gmp/gen/aarch64-macos/mpn/rsh1sub_n.s | 20 +++---- ext/gmp/gen/aarch64-macos/mpn/rshift.s | 10 ++-- .../gen/aarch64-macos/mpn/sqr_diag_addlsh1.s | 10 ++-- ext/gmp/gen/aarch64-macos/mpn/sub_n.s | 12 ++--- ext/gmp/gen/aarch64-macos/mpn/sublsh1_n.s | 12 ++--- ext/gmp/gen/aarch64-macos/mpn/sublsh2_n.s | 12 ++--- ext/gmp/gen/aarch64-macos/mpn/submul_1.s | 5 ++ ext/gmp/gen/aarch64-macos/mpn/xnor_n.s | 12 ++--- ext/gmp/gen/aarch64-macos/mpn/xor_n.s | 12 ++--- ext/gmp/gen/x86_64-linux/sieve_table.h | 46 ++++++++++++++++ 35 files changed, 336 insertions(+), 224 deletions(-) create mode 100644 ext/gmp/gen/aarch64-linux/sieve_table.h create mode 100644 ext/gmp/gen/x86_64-linux/sieve_table.h diff --git a/ext/gmp/build.zig b/ext/gmp/build.zig index 2444000e3d..576e18aa7a 100644 --- a/ext/gmp/build.zig +++ b/ext/gmp/build.zig @@ -563,6 +563,7 @@ const generic_c_sources = [_][]const u8{ "mpn/generic/mulmid_basecase.c", "mpn/generic/mulmid_n.c", "mpn/generic/mulmod_bnm1.c", + "mpn/generic/mulmod_bknp1.c", "mpn/generic/neg.c", "mpn/generic/nussbaumer_mul.c", "mpn/generic/perfpow.c", diff --git a/ext/gmp/build.zig.zon b/ext/gmp/build.zig.zon index 3349cef8a6..47538723d8 100644 --- a/ext/gmp/build.zig.zon +++ b/ext/gmp/build.zig.zon @@ -3,8 +3,8 @@ .version = "0.0.1", .dependencies = .{ .gmp = .{ - .url = "https://github.com/alisw/GMP/archive/refs/tags/v6.2.1.tar.gz", - .hash = "12209dd340fd48ad775604d2d4e95155dcf106b8f6c63dd054641d606e2007d806f4", + .url = "https://ftp.gnu.org/gnu/gmp/gmp-6.3.0.tar.gz", + .hash = "1220d46202c17aa35ab5848a7f7a812b797c9f07698f263c8a02b4ad9640a1bbe0e3", }, }, .paths = .{ diff --git a/ext/gmp/gen/aarch64-linux/config.h b/ext/gmp/gen/aarch64-linux/config.h index d2e56c8c54..ad9547c325 100644 --- a/ext/gmp/gen/aarch64-linux/config.h +++ b/ext/gmp/gen/aarch64-linux/config.h @@ -3,7 +3,7 @@ /* -Copyright 1996-2020 Free Software Foundation, Inc. +Copyright 1996-2022 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -187,6 +187,7 @@ see https://www.gnu.org/licenses/. /* #undef HAVE_HOST_CPU_skylake */ /* #undef HAVE_HOST_CPU_silvermont */ /* #undef HAVE_HOST_CPU_goldmont */ +/* #undef HAVE_HOST_CPU_tremont */ /* #undef HAVE_HOST_CPU_k8 */ /* #undef HAVE_HOST_CPU_k10 */ /* #undef HAVE_HOST_CPU_bulldozer */ @@ -201,6 +202,9 @@ see https://www.gnu.org/licenses/. /* #undef HAVE_HOST_CPU_s390_z9 */ /* #undef HAVE_HOST_CPU_s390_z10 */ /* #undef HAVE_HOST_CPU_s390_z196 */ +/* #undef HAVE_HOST_CPU_s390_z13 */ +/* #undef HAVE_HOST_CPU_s390_z14 */ +/* #undef HAVE_HOST_CPU_s390_z15 */ /* Define to 1 iff we have a s390 with 64-bit registers. */ /* #undef HAVE_HOST_CPU_s390_zarch */ @@ -300,7 +304,7 @@ see https://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_div_qr_2 */ /* #undef HAVE_NATIVE_mpn_divexact_1 */ /* #undef HAVE_NATIVE_mpn_divexact_by3c */ -/* #undef HAVE_NATIVE_mpn_divrem_1 */ +#define HAVE_NATIVE_mpn_divrem_1 1 /* #undef HAVE_NATIVE_mpn_divrem_1c */ /* #undef HAVE_NATIVE_mpn_divrem_2 */ /* #undef HAVE_NATIVE_mpn_gcd_1 */ @@ -333,7 +337,7 @@ see https://www.gnu.org/licenses/. #define HAVE_NATIVE_mpn_nand_n 1 #define HAVE_NATIVE_mpn_nior_n 1 #define HAVE_NATIVE_mpn_popcount 1 -/* #undef HAVE_NATIVE_mpn_preinv_divrem_1 */ +#define HAVE_NATIVE_mpn_preinv_divrem_1 1 /* #undef HAVE_NATIVE_mpn_preinv_mod_1 */ /* #undef HAVE_NATIVE_mpn_redc_1 */ /* #undef HAVE_NATIVE_mpn_redc_2 */ @@ -382,7 +386,7 @@ see https://www.gnu.org/licenses/. #define HAVE_NL_TYPES_H 1 /* Define to 1 if you have the `obstack_vprintf' function. */ -/* #define HAVE_OBSTACK_VPRINTF 1 */ +/* #undef HAVE_OBSTACK_VPRINTF 1 */ /* Define to 1 if you have the `popen' function. */ #define HAVE_POPEN 1 @@ -542,13 +546,13 @@ see https://www.gnu.org/licenses/. #define PACKAGE "gmp" /* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org, see https://gmplib.org/manual/Reporting-Bugs.html" +#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org (see https://gmplib.org/manual/Reporting-Bugs.html)" /* Define to the full name of this package. */ #define PACKAGE_NAME "GNU MP" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU MP 6.2.1" +#define PACKAGE_STRING "GNU MP 6.3.0" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gmp" @@ -557,7 +561,7 @@ see https://www.gnu.org/licenses/. #define PACKAGE_URL "http://www.gnu.org/software/gmp/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "6.2.1" +#define PACKAGE_VERSION "6.3.0" /* Define as the return type of signal handlers (`int' or `void'). */ #define RETSIGTYPE void @@ -590,7 +594,7 @@ see https://www.gnu.org/licenses/. #define TUNE_SQR_TOOM2_MAX SQR_TOOM2_MAX_GENERIC /* Version number of package */ -#define VERSION "6.2.1" +#define VERSION "6.3.0" /* Define to 1 to enable ASSERT checking, per --enable-assert */ /* #undef WANT_ASSERT */ diff --git a/ext/gmp/gen/aarch64-linux/sieve_table.h b/ext/gmp/gen/aarch64-linux/sieve_table.h new file mode 100644 index 0000000000..ee9ac14360 --- /dev/null +++ b/ext/gmp/gen/aarch64-linux/sieve_table.h @@ -0,0 +1,46 @@ +/* This file generated by gen-sieve.c - DO NOT EDIT. */ + +#if GMP_LIMB_BITS != 64 +Error, error, this data is for 64 bits +#endif + +#define PRIMESIEVE_INIT_TABLE \ + CNST_LIMB (0x3294C9E069128480), /* 5 - 196 (42 primes) */ \ + CNST_LIMB (0x95A35E1EC4AB21DC), /* 197 - 388 (32 primes) */ \ + CNST_LIMB (0x4AD7CE99B8693366), /* 389 - 580 (30 primes) */ \ + CNST_LIMB (0x6595B6DA728DC52B), /* 581 - 772 (30 primes) */ \ + CNST_LIMB (0xEA6D9F8787B0CEDE), /* 773 - 964 (26 primes) */ \ + CNST_LIMB (0x3F56A1F4CD3275A9), /* 965 - 1156 (29 primes) */ \ + CNST_LIMB (0xFD3848FB74A76ADB), /* 1157 - 1348 (26 primes) */ \ + CNST_LIMB (0xDBBA0DD1A1EDF6AF), /* 1349 - 1540 (25 primes) */ \ + CNST_LIMB (0xCEC7F17ED22799A5), /* 1541 - 1732 (27 primes) */ \ + CNST_LIMB (0xEAEC17BDBB717D56), /* 1733 - 1924 (24 primes) */ \ + CNST_LIMB (0x3B0EB7B3585AFCF3), /* 1925 - 2116 (26 primes) */ \ + CNST_LIMB (0xE563D8F69FDF6C4F), /* 2117 - 2308 (23 primes) */ \ + CNST_LIMB (0xFE5BA7ABA45E92FC), /* 2309 - 2500 (25 primes) */ \ + CNST_LIMB (0x158DEE6F3BF49B7D), /* 2501 - 2692 (24 primes) */ \ + CNST_LIMB (0xBE5A7BC4EDE6CD1A), /* 2693 - 2884 (26 primes) */ \ + CNST_LIMB (0xD7679B3FCA7BB6AD), /* 2885 - 3076 (22 primes) */ \ + CNST_LIMB (0xC3F66B971FEF37E9), /* 3077 - 3268 (22 primes) */ \ + CNST_LIMB (0x6F7EBCF339C953FD), /* 3269 - 3460 (22 primes) */ \ + CNST_LIMB (0xD5A5ECDCD235DBF0), /* 3461 - 3652 (27 primes) */ \ + CNST_LIMB (0xECFA7B2FD5B65E3B), /* 3653 - 3844 (22 primes) */ \ + CNST_LIMB (0xD28EFDF9C89F67B1), /* 3845 - 4036 (25 primes) */ \ + CNST_LIMB (0xCB7F7C7A3DD3AF4F), /* 4037 - 4228 (21 primes) */ \ + CNST_LIMB (0xEEBED6CDFF6B32CC), /* 4229 - 4420 (22 primes) */ \ + CNST_LIMB (0xD5BD73F85ECFA97C), /* 4421 - 4612 (23 primes) */ \ + CNST_LIMB (0x21FDBE4FBBAD48F7), /* 4613 - 4804 (24 primes) */ \ + CNST_LIMB (0x5E35A3B5EEB7FDE7), /* 4805 - 4996 (21 primes) */ \ + CNST_LIMB (0xD9EBFD53A7DBBCC9), /* 4997 - 5188 (22 primes) */ \ + CNST_LIMB (0xFF9EDEAF2EFE1F76), /* 5189 - 5380 (18 primes) */ +#define PRIMESIEVE_NUMBEROF_TABLE 28 +/* #define PRIMESIEVE_PRIMES_IN_TABLE 706 */ +#define PRIMESIEVE_HIGHEST_PRIME 5351 +/* #define PRIMESIEVE_FIRST_UNCHECKED 5381 */ + +#define SIEVE_MASK1 CNST_LIMB(0x3204C1A049120485) +#define SIEVE_MASKT CNST_LIMB(0xA1204892058) +#define SIEVE_2MSK1 CNST_LIMB(0x29048402110840A) +#define SIEVE_2MSK2 CNST_LIMB(0x9402180C40230184) +#define SIEVE_2MSKT CNST_LIMB(0x5021088402120) + diff --git a/ext/gmp/gen/aarch64-macos/mpn/add_n.s b/ext/gmp/gen/aarch64-macos/mpn/add_n.s index 136fdacc83..5f2b539e98 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/add_n.s +++ b/ext/gmp/gen/aarch64-macos/mpn/add_n.s @@ -77,7 +77,7 @@ ___gmpn_add_nc: ___gmpn_add_n: cmn xzr, xzr -Lent: lsr x18, x3, #2 +Lent: lsr x17, x3, #2 tbz x3, #0, Lbx0 Lbx1: ldr x7, [x1] @@ -86,7 +86,7 @@ Lbx1: ldr x7, [x1] str x13, [x0],#8 tbnz x3, #1, Lb11 -Lb01: cbz x18, Lret +Lb01: cbz x17, Lret ldp x4, x5, [x1,#8] ldp x8, x9, [x2,#8] sub x1, x1, #8 @@ -97,7 +97,7 @@ Lb11: ldp x6, x7, [x1,#8] ldp x10, x11, [x2,#8] add x1, x1, #8 add x2, x2, #8 - cbz x18, Lend + cbz x17, Lend b Ltop Lbx0: tbnz x3, #1, Lb10 @@ -110,7 +110,7 @@ Lb00: ldp x4, x5, [x1] Lb10: ldp x6, x7, [x1] ldp x10, x11, [x2] - cbz x18, Lend + cbz x17, Lend .align 4 Ltop: ldp x4, x5, [x1,#16] @@ -123,8 +123,8 @@ Lmid: ldp x6, x7, [x1,#32]! adcs x12, x4, x8 adcs x13, x5, x9 stp x12, x13, [x0],#16 - sub x18, x18, #1 - cbnz x18, Ltop + sub x17, x17, #1 + cbnz x17, Ltop Lend: adcs x12, x6, x10 adcs x13, x7, x11 diff --git a/ext/gmp/gen/aarch64-macos/mpn/addlsh1_n.s b/ext/gmp/gen/aarch64-macos/mpn/addlsh1_n.s index 9cde4af8e2..bf0bdcbeb9 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/addlsh1_n.s +++ b/ext/gmp/gen/aarch64-macos/mpn/addlsh1_n.s @@ -86,14 +86,14 @@ .globl ___gmpn_addlsh1_n ___gmpn_addlsh1_n: - lsr x18, x3, #2 + lsr x6, x3, #2 tbz x3, #0, Lbx0 Lbx1: ldr x5, [x1] tbnz x3, #1, Lb11 Lb01: ldr x11, [x2] - cbz x18, L1 + cbz x6, L1 ldp x8, x9, [x2,#8] lsl x13, x11, #1 adds x15, x13, x5 @@ -115,7 +115,7 @@ Lb11: ldr x9, [x2] adds x17, x13, x5 str x17, [x0],#8 sub x1, x1, #8 - cbz x18, Lend + cbz x6, Lend b Ltop Lbx0: tbnz x3, #1, Lb10 @@ -128,7 +128,7 @@ Lb00: adds x11, xzr, xzr Lb10: adds x9, xzr, xzr ldp x10, x11, [x2] sub x1, x1, #16 - cbz x18, Lend + cbz x6, Lend .align 4 Ltop: ldp x4, x5, [x1,#16] @@ -145,8 +145,8 @@ Lmid: ldp x4, x5, [x1,#32]! adcs x16, x12, x4 adcs x17, x13, x5 stp x16, x17, [x0],#16 - sub x18, x18, #1 - cbnz x18, Ltop + sub x6, x6, #1 + cbnz x6, Ltop Lend: ldp x4, x5, [x1,#16] extr x12, x10, x9, #63 diff --git a/ext/gmp/gen/aarch64-macos/mpn/addlsh2_n.s b/ext/gmp/gen/aarch64-macos/mpn/addlsh2_n.s index f923e69202..e167b893e7 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/addlsh2_n.s +++ b/ext/gmp/gen/aarch64-macos/mpn/addlsh2_n.s @@ -86,14 +86,14 @@ .globl ___gmpn_addlsh2_n ___gmpn_addlsh2_n: - lsr x18, x3, #2 + lsr x6, x3, #2 tbz x3, #0, Lbx0 Lbx1: ldr x5, [x1] tbnz x3, #1, Lb11 Lb01: ldr x11, [x2] - cbz x18, L1 + cbz x6, L1 ldp x8, x9, [x2,#8] lsl x13, x11, #2 adds x15, x13, x5 @@ -115,7 +115,7 @@ Lb11: ldr x9, [x2] adds x17, x13, x5 str x17, [x0],#8 sub x1, x1, #8 - cbz x18, Lend + cbz x6, Lend b Ltop Lbx0: tbnz x3, #1, Lb10 @@ -128,7 +128,7 @@ Lb00: adds x11, xzr, xzr Lb10: adds x9, xzr, xzr ldp x10, x11, [x2] sub x1, x1, #16 - cbz x18, Lend + cbz x6, Lend .align 4 Ltop: ldp x4, x5, [x1,#16] @@ -145,8 +145,8 @@ Lmid: ldp x4, x5, [x1,#32]! adcs x16, x12, x4 adcs x17, x13, x5 stp x16, x17, [x0],#16 - sub x18, x18, #1 - cbnz x18, Ltop + sub x6, x6, #1 + cbnz x6, Ltop Lend: ldp x4, x5, [x1,#16] extr x12, x10, x9, #62 diff --git a/ext/gmp/gen/aarch64-macos/mpn/addmul_1.s b/ext/gmp/gen/aarch64-macos/mpn/addmul_1.s index 6c82fb3de6..09ce6a3921 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/addmul_1.s +++ b/ext/gmp/gen/aarch64-macos/mpn/addmul_1.s @@ -53,6 +53,11 @@ + + + + + diff --git a/ext/gmp/gen/aarch64-macos/mpn/and_n.s b/ext/gmp/gen/aarch64-macos/mpn/and_n.s index c6d0d23cb0..6967e35beb 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/and_n.s +++ b/ext/gmp/gen/aarch64-macos/mpn/and_n.s @@ -73,7 +73,7 @@ .globl ___gmpn_and_n ___gmpn_and_n: - lsr x18, x3, #2 + lsr x17, x3, #2 tbz x3, #0, Lbx0 Lbx1: ldr x7, [x1] @@ -82,7 +82,7 @@ Lbx1: ldr x7, [x1] str x15, [x0],#8 tbnz x3, #1, Lb11 -Lb01: cbz x18, Lret +Lb01: cbz x17, Lret ldp x4, x5, [x1,#8] ldp x8, x9, [x2,#8] sub x1, x1, #8 @@ -93,7 +93,7 @@ Lb11: ldp x6, x7, [x1,#8] ldp x10, x11, [x2,#8] add x1, x1, #8 add x2, x2, #8 - cbz x18, Lend + cbz x17, Lend b Ltop Lbx0: tbnz x3, #1, Lb10 @@ -104,7 +104,7 @@ Lb00: ldp x4, x5, [x1],#-16 Lb10: ldp x6, x7, [x1] ldp x10, x11, [x2] - cbz x18, Lend + cbz x17, Lend .align 4 Ltop: ldp x4, x5, [x1,#16] @@ -117,8 +117,8 @@ Lmid: ldp x6, x7, [x1,#32]! and x12, x4, x8 and x13, x5, x9 stp x12, x13, [x0],#16 - sub x18, x18, #1 - cbnz x18, Ltop + sub x17, x17, #1 + cbnz x17, Ltop Lend: and x12, x6, x10 and x13, x7, x11 diff --git a/ext/gmp/gen/aarch64-macos/mpn/andn_n.s b/ext/gmp/gen/aarch64-macos/mpn/andn_n.s index 9d2318f0a3..6f928f10bc 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/andn_n.s +++ b/ext/gmp/gen/aarch64-macos/mpn/andn_n.s @@ -73,7 +73,7 @@ .globl ___gmpn_andn_n ___gmpn_andn_n: - lsr x18, x3, #2 + lsr x17, x3, #2 tbz x3, #0, Lbx0 Lbx1: ldr x7, [x1] @@ -82,7 +82,7 @@ Lbx1: ldr x7, [x1] str x15, [x0],#8 tbnz x3, #1, Lb11 -Lb01: cbz x18, Lret +Lb01: cbz x17, Lret ldp x4, x5, [x1,#8] ldp x8, x9, [x2,#8] sub x1, x1, #8 @@ -93,7 +93,7 @@ Lb11: ldp x6, x7, [x1,#8] ldp x10, x11, [x2,#8] add x1, x1, #8 add x2, x2, #8 - cbz x18, Lend + cbz x17, Lend b Ltop Lbx0: tbnz x3, #1, Lb10 @@ -104,7 +104,7 @@ Lb00: ldp x4, x5, [x1],#-16 Lb10: ldp x6, x7, [x1] ldp x10, x11, [x2] - cbz x18, Lend + cbz x17, Lend .align 4 Ltop: ldp x4, x5, [x1,#16] @@ -117,8 +117,8 @@ Lmid: ldp x6, x7, [x1,#32]! bic x12, x4, x8 bic x13, x5, x9 stp x12, x13, [x0],#16 - sub x18, x18, #1 - cbnz x18, Ltop + sub x17, x17, #1 + cbnz x17, Ltop Lend: bic x12, x6, x10 bic x13, x7, x11 diff --git a/ext/gmp/gen/aarch64-macos/mpn/cnd_add_n.s b/ext/gmp/gen/aarch64-macos/mpn/cnd_add_n.s index 1282e0241d..606d6c4948 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/cnd_add_n.s +++ b/ext/gmp/gen/aarch64-macos/mpn/cnd_add_n.s @@ -72,7 +72,7 @@ ___gmpn_cnd_add_n: cmn xzr, xzr - lsr x18, x4, #2 + lsr x17, x4, #2 tbz x4, #0, Lbx0 Lbx1: ldr x13, [x3] @@ -82,7 +82,7 @@ Lbx1: ldr x13, [x3] str x9, [x1] tbnz x4, #1, Lb11 -Lb01: cbz x18, Lrt +Lb01: cbz x17, Lrt ldp x12, x13, [x3,#8] ldp x10, x11, [x2,#8] sub x2, x2, #8 @@ -93,7 +93,7 @@ Lb01: cbz x18, Lrt Lb11: ldp x12, x13, [x3,#8]! ldp x10, x11, [x2,#8]! sub x1, x1, #8 - cbz x18, Lend + cbz x17, Lend b Ltop Lbx0: ldp x12, x13, [x3] @@ -106,7 +106,7 @@ Lb00: sub x2, x2, #16 b Lmid Lb10: sub x1, x1, #16 - cbz x18, Lend + cbz x17, Lend .align 4 Ltop: bic x6, x12, x0 @@ -123,8 +123,8 @@ Lmid: bic x6, x12, x0 adcs x9, x11, x7 ldp x10, x11, [x2,#32]! stp x8, x9, [x1,#32]! - sub x18, x18, #1 - cbnz x18, Ltop + sub x17, x17, #1 + cbnz x17, Ltop Lend: bic x6, x12, x0 bic x7, x13, x0 diff --git a/ext/gmp/gen/aarch64-macos/mpn/cnd_sub_n.s b/ext/gmp/gen/aarch64-macos/mpn/cnd_sub_n.s index 5663667b12..be253fe14d 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/cnd_sub_n.s +++ b/ext/gmp/gen/aarch64-macos/mpn/cnd_sub_n.s @@ -72,7 +72,7 @@ ___gmpn_cnd_sub_n: cmp xzr, xzr - lsr x18, x4, #2 + lsr x17, x4, #2 tbz x4, #0, Lbx0 Lbx1: ldr x13, [x3] @@ -82,7 +82,7 @@ Lbx1: ldr x13, [x3] str x9, [x1] tbnz x4, #1, Lb11 -Lb01: cbz x18, Lrt +Lb01: cbz x17, Lrt ldp x12, x13, [x3,#8] ldp x10, x11, [x2,#8] sub x2, x2, #8 @@ -93,7 +93,7 @@ Lb01: cbz x18, Lrt Lb11: ldp x12, x13, [x3,#8]! ldp x10, x11, [x2,#8]! sub x1, x1, #8 - cbz x18, Lend + cbz x17, Lend b Ltop Lbx0: ldp x12, x13, [x3] @@ -106,7 +106,7 @@ Lb00: sub x2, x2, #16 b Lmid Lb10: sub x1, x1, #16 - cbz x18, Lend + cbz x17, Lend .align 4 Ltop: bic x6, x12, x0 @@ -123,8 +123,8 @@ Lmid: bic x6, x12, x0 sbcs x9, x11, x7 ldp x10, x11, [x2,#32]! stp x8, x9, [x1,#32]! - sub x18, x18, #1 - cbnz x18, Ltop + sub x17, x17, #1 + cbnz x17, Ltop Lend: bic x6, x12, x0 bic x7, x13, x0 diff --git a/ext/gmp/gen/aarch64-macos/mpn/com.s b/ext/gmp/gen/aarch64-macos/mpn/com.s index 656c761ce6..5eaf1f4972 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/com.s +++ b/ext/gmp/gen/aarch64-macos/mpn/com.s @@ -45,6 +45,10 @@ + + + + @@ -60,37 +64,41 @@ ___gmpn_com: tbz x0, #3, Lal2 - ld1 {v22.1d}, [x1], #8 + ldr x4, [x1],#8 sub x2, x2, #1 - mvn v22.8b, v22.8b - st1 {v22.1d}, [x0], #8 + mvn x4, x4 + str x4, [x0],#8 -Lal2: ld1 {v26.2d}, [x1], #16 - subs x2, x2, #6 - b.lt Lend +Lal2: ldp x4,x5, [x1],#16 + sub x2, x2, #6 + tbnz x2, #63, Lend .align 4 -Ltop: ld1 {v22.2d}, [x1], #16 - mvn v26.16b, v26.16b - st1 {v26.2d}, [x0], #16 - ld1 {v26.2d}, [x1], #16 - mvn v22.16b, v22.16b - st1 {v22.2d}, [x0], #16 - subs x2, x2, #4 - b.ge Ltop +Ltop: ldp x6,x7, [x1],#32 + mvn x4, x4 + mvn x5, x5 + stp x4,x5, [x0],#32 + ldp x4,x5, [x1,#-16] + mvn x6, x6 + mvn x7, x7 + stp x6,x7, [x0,#-16] + sub x2, x2, #4 + tbz x2, #63, Ltop -Lend: mvn v26.16b, v26.16b - st1 {v26.2d}, [x0], #16 +Lend: mvn x4, x4 + mvn x5, x5 + stp x4,x5, [x0],#16 Lbc: tbz x2, #1, Ltl1 - ld1 {v22.2d}, [x1], #16 - mvn v22.16b, v22.16b - st1 {v22.2d}, [x0], #16 + ldp x4,x5, [x1],#16 + mvn x4, x4 + mvn x5, x5 + stp x4,x5, [x0],#16 Ltl1: tbz x2, #0, Ltl2 - ld1 {v22.1d}, [x1] - mvn v22.8b, v22.8b - st1 {v22.1d}, [x0] + ldr x4, [x1] + mvn x4, x4 + str x4, [x0] Ltl2: ret diff --git a/ext/gmp/gen/aarch64-macos/mpn/copyd.s b/ext/gmp/gen/aarch64-macos/mpn/copyd.s index 1b178c7c40..a3a3af68be 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/copyd.s +++ b/ext/gmp/gen/aarch64-macos/mpn/copyd.s @@ -43,6 +43,11 @@ + + + + + @@ -62,44 +67,31 @@ ___gmpn_copyd: tbz x0, #3, Lal2 - sub x1, x1, #8 - ld1 {v22.1d}, [x1] + ldr x4, [x1,#-8]! sub x2, x2, #1 - sub x0, x0, #8 - st1 {v22.1d}, [x0] + str x4, [x0,#-8]! -Lal2: sub x1, x1, #16 - ld1 {v26.2d}, [x1] +Lal2: ldp x4,x5, [x1,#-16]! sub x2, x2, #6 - sub x0, x0, #16 tbnz x2, #63, Lend - sub x1, x1, #16 - mov x12, #-16 - .align 4 -Ltop: ld1 {v22.2d}, [x1], x12 - st1 {v26.2d}, [x0], x12 - ld1 {v26.2d}, [x1], x12 - st1 {v22.2d}, [x0], x12 +Ltop: ldp x6,x7, [x1,#-16] + stp x4,x5, [x0,#-16] + ldp x4,x5, [x1,#-32]! + stp x6,x7, [x0,#-32]! sub x2, x2, #4 tbz x2, #63, Ltop - add x1, x1, #16 - -Lend: st1 {v26.2d}, [x0] +Lend: stp x4,x5, [x0,#-16]! Lbc: tbz x2, #1, Ltl1 - sub x1, x1, #16 - ld1 {v22.2d}, [x1] - sub x0, x0, #16 - st1 {v22.2d}, [x0] + ldp x4,x5, [x1,#-16]! + stp x4,x5, [x0,#-16]! Ltl1: tbz x2, #0, Ltl2 - sub x1, x1, #8 - ld1 {v22.1d}, [x1] - sub x0, x0, #8 - st1 {v22.1d}, [x0] + ldr x4, [x1,#-8] + str x4, [x0,#-8] Ltl2: ret diff --git a/ext/gmp/gen/aarch64-macos/mpn/copyi.s b/ext/gmp/gen/aarch64-macos/mpn/copyi.s index 95e54eaefd..b87f4fcc6f 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/copyi.s +++ b/ext/gmp/gen/aarch64-macos/mpn/copyi.s @@ -45,6 +45,10 @@ + + + + @@ -60,31 +64,31 @@ ___gmpn_copyi: tbz x0, #3, Lal2 - ld1 {v22.1d}, [x1], #8 + ldr x4, [x1],#8 sub x2, x2, #1 - st1 {v22.1d}, [x0], #8 + str x4, [x0],#8 -Lal2: ld1 {v26.2d}, [x1], #16 +Lal2: ldp x4,x5, [x1],#16 sub x2, x2, #6 tbnz x2, #63, Lend .align 4 -Ltop: ld1 {v22.2d}, [x1], #16 - st1 {v26.2d}, [x0], #16 - ld1 {v26.2d}, [x1], #16 - st1 {v22.2d}, [x0], #16 +Ltop: ldp x6,x7, [x1],#32 + stp x4,x5, [x0],#32 + ldp x4,x5, [x1,#-16] + stp x6,x7, [x0,#-16] sub x2, x2, #4 tbz x2, #63, Ltop -Lend: st1 {v26.2d}, [x0], #16 +Lend: stp x4,x5, [x0],#16 Lbc: tbz x2, #1, Ltl1 - ld1 {v22.2d}, [x1], #16 - st1 {v22.2d}, [x0], #16 + ldp x4,x5, [x1],#16 + stp x4,x5, [x0],#16 Ltl1: tbz x2, #0, Ltl2 - ld1 {v22.1d}, [x1] - st1 {v22.1d}, [x0] + ldr x4, [x1] + str x4, [x0] Ltl2: ret diff --git a/ext/gmp/gen/aarch64-macos/mpn/ior_n.s b/ext/gmp/gen/aarch64-macos/mpn/ior_n.s index cfd315a938..4b4b643ece 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/ior_n.s +++ b/ext/gmp/gen/aarch64-macos/mpn/ior_n.s @@ -73,7 +73,7 @@ .globl ___gmpn_ior_n ___gmpn_ior_n: - lsr x18, x3, #2 + lsr x17, x3, #2 tbz x3, #0, Lbx0 Lbx1: ldr x7, [x1] @@ -82,7 +82,7 @@ Lbx1: ldr x7, [x1] str x15, [x0],#8 tbnz x3, #1, Lb11 -Lb01: cbz x18, Lret +Lb01: cbz x17, Lret ldp x4, x5, [x1,#8] ldp x8, x9, [x2,#8] sub x1, x1, #8 @@ -93,7 +93,7 @@ Lb11: ldp x6, x7, [x1,#8] ldp x10, x11, [x2,#8] add x1, x1, #8 add x2, x2, #8 - cbz x18, Lend + cbz x17, Lend b Ltop Lbx0: tbnz x3, #1, Lb10 @@ -104,7 +104,7 @@ Lb00: ldp x4, x5, [x1],#-16 Lb10: ldp x6, x7, [x1] ldp x10, x11, [x2] - cbz x18, Lend + cbz x17, Lend .align 4 Ltop: ldp x4, x5, [x1,#16] @@ -117,8 +117,8 @@ Lmid: ldp x6, x7, [x1,#32]! orr x12, x4, x8 orr x13, x5, x9 stp x12, x13, [x0],#16 - sub x18, x18, #1 - cbnz x18, Ltop + sub x17, x17, #1 + cbnz x17, Ltop Lend: orr x12, x6, x10 orr x13, x7, x11 diff --git a/ext/gmp/gen/aarch64-macos/mpn/iorn_n.s b/ext/gmp/gen/aarch64-macos/mpn/iorn_n.s index 94cc90a0ff..73d86e94a0 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/iorn_n.s +++ b/ext/gmp/gen/aarch64-macos/mpn/iorn_n.s @@ -73,7 +73,7 @@ .globl ___gmpn_iorn_n ___gmpn_iorn_n: - lsr x18, x3, #2 + lsr x17, x3, #2 tbz x3, #0, Lbx0 Lbx1: ldr x7, [x1] @@ -82,7 +82,7 @@ Lbx1: ldr x7, [x1] str x15, [x0],#8 tbnz x3, #1, Lb11 -Lb01: cbz x18, Lret +Lb01: cbz x17, Lret ldp x4, x5, [x1,#8] ldp x8, x9, [x2,#8] sub x1, x1, #8 @@ -93,7 +93,7 @@ Lb11: ldp x6, x7, [x1,#8] ldp x10, x11, [x2,#8] add x1, x1, #8 add x2, x2, #8 - cbz x18, Lend + cbz x17, Lend b Ltop Lbx0: tbnz x3, #1, Lb10 @@ -104,7 +104,7 @@ Lb00: ldp x4, x5, [x1],#-16 Lb10: ldp x6, x7, [x1] ldp x10, x11, [x2] - cbz x18, Lend + cbz x17, Lend .align 4 Ltop: ldp x4, x5, [x1,#16] @@ -117,8 +117,8 @@ Lmid: ldp x6, x7, [x1,#32]! orn x12, x4, x8 orn x13, x5, x9 stp x12, x13, [x0],#16 - sub x18, x18, #1 - cbnz x18, Ltop + sub x17, x17, #1 + cbnz x17, Ltop Lend: orn x12, x6, x10 orn x13, x7, x11 diff --git a/ext/gmp/gen/aarch64-macos/mpn/lshift.s b/ext/gmp/gen/aarch64-macos/mpn/lshift.s index 75dc0fbc9a..14e5a71bd2 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/lshift.s +++ b/ext/gmp/gen/aarch64-macos/mpn/lshift.s @@ -73,7 +73,7 @@ ___gmpn_lshift: add x16, x0, x2, lsl #3 add x1, x1, x2, lsl #3 sub x8, xzr, x3 - lsr x18, x2, #2 + lsr x17, x2, #2 tbz x2, #0, Lbx0 Lbx1: ldr x4, [x1,#-8] @@ -81,7 +81,7 @@ Lbx1: ldr x4, [x1,#-8] Lb01: lsr x0, x4, x8 lsl x2, x4, x3 - cbnz x18, Lgt1 + cbnz x17, Lgt1 str x2, [x16,#-8] ret Lgt1: ldp x4, x5, [x1,#-24] @@ -101,7 +101,7 @@ Lb10: lsr x0, x5, x8 lsl x13, x5, x3 lsr x10, x4, x8 lsl x2, x4, x3 - cbnz x18, Lgt2 + cbnz x17, Lgt2 orr x10, x10, x13 stp x2, x10, [x16,#-16] ret @@ -135,11 +135,11 @@ Llo2: lsr x10, x4, x8 orr x11, x12, x2 stp x10, x11, [x16,#-32]! lsl x2, x4, x3 -Llo0: sub x18, x18, #1 +Llo0: sub x17, x17, #1 Llo3: lsr x10, x6, x8 lsl x13, x7, x3 lsr x12, x7, x8 - cbnz x18, Ltop + cbnz x17, Ltop Lend: orr x10, x10, x13 orr x11, x12, x2 diff --git a/ext/gmp/gen/aarch64-macos/mpn/lshiftc.s b/ext/gmp/gen/aarch64-macos/mpn/lshiftc.s index c4e0b33084..438136f554 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/lshiftc.s +++ b/ext/gmp/gen/aarch64-macos/mpn/lshiftc.s @@ -73,7 +73,7 @@ ___gmpn_lshiftc: add x16, x0, x2, lsl #3 add x1, x1, x2, lsl #3 sub x8, xzr, x3 - lsr x18, x2, #2 + lsr x17, x2, #2 tbz x2, #0, Lbx0 Lbx1: ldr x4, [x1,#-8] @@ -81,7 +81,7 @@ Lbx1: ldr x4, [x1,#-8] Lb01: lsr x0, x4, x8 lsl x2, x4, x3 - cbnz x18, Lgt1 + cbnz x17, Lgt1 mvn x2, x2 str x2, [x16,#-8] ret @@ -102,7 +102,7 @@ Lb10: lsr x0, x5, x8 lsl x13, x5, x3 lsr x10, x4, x8 lsl x2, x4, x3 - cbnz x18, Lgt2 + cbnz x17, Lgt2 eon x10, x10, x13 mvn x2, x2 stp x2, x10, [x16,#-16] @@ -137,11 +137,11 @@ Llo2: lsr x10, x4, x8 eon x11, x12, x2 stp x10, x11, [x16,#-32]! lsl x2, x4, x3 -Llo0: sub x18, x18, #1 +Llo0: sub x17, x17, #1 Llo3: lsr x10, x6, x8 lsl x13, x7, x3 lsr x12, x7, x8 - cbnz x18, Ltop + cbnz x17, Ltop Lend: eon x10, x10, x13 eon x11, x12, x2 diff --git a/ext/gmp/gen/aarch64-macos/mpn/mul_1.s b/ext/gmp/gen/aarch64-macos/mpn/mul_1.s index 9a369b1627..7858152199 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/mul_1.s +++ b/ext/gmp/gen/aarch64-macos/mpn/mul_1.s @@ -54,6 +54,7 @@ + .text @@ -71,7 +72,7 @@ ___gmpn_mul_1c: ___gmpn_mul_1: adds x4, xzr, xzr -Lcom: lsr x18, x2, #2 +Lcom: lsr x17, x2, #2 tbnz x2, #0, Lbx1 Lbx0: mov x11, x4 @@ -80,7 +81,7 @@ Lbx0: mov x11, x4 Lb10: ldp x4, x5, [x1] mul x8, x4, x3 umulh x10, x4, x3 - cbz x18, L2 + cbz x17, L2 ldp x6, x7, [x1,#16]! mul x9, x5, x3 b Lmid-8 @@ -95,7 +96,7 @@ Lbx1: ldr x7, [x1],#8 str x9, [x0],#8 tbnz x2, #1, Lb10 -Lb01: cbz x18, L1 +Lb01: cbz x17, L1 Lb00: ldp x6, x7, [x1] mul x8, x6, x3 @@ -105,8 +106,8 @@ Lb00: ldp x6, x7, [x1] adcs x12, x8, x11 umulh x11, x7, x3 add x0, x0, #16 - sub x18, x18, #1 - cbz x18, Lend + sub x17, x17, #1 + cbz x17, Lend .align 4 Ltop: mul x8, x4, x3 @@ -125,8 +126,8 @@ Lmid: mul x8, x6, x3 stp x12, x13, [x0],#32 adcs x12, x8, x11 umulh x11, x7, x3 - sub x18, x18, #1 - cbnz x18, Ltop + sub x17, x17, #1 + cbnz x17, Ltop Lend: mul x8, x4, x3 adcs x13, x9, x10 diff --git a/ext/gmp/gen/aarch64-macos/mpn/nand_n.s b/ext/gmp/gen/aarch64-macos/mpn/nand_n.s index dd75975513..083703a2d8 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/nand_n.s +++ b/ext/gmp/gen/aarch64-macos/mpn/nand_n.s @@ -74,7 +74,7 @@ .globl ___gmpn_nand_n ___gmpn_nand_n: - lsr x18, x3, #2 + lsr x17, x3, #2 tbz x3, #0, Lbx0 Lbx1: ldr x7, [x1] @@ -84,7 +84,7 @@ Lbx1: ldr x7, [x1] str x15, [x0],#8 tbnz x3, #1, Lb11 -Lb01: cbz x18, Lret +Lb01: cbz x17, Lret ldp x4, x5, [x1,#8] ldp x8, x9, [x2,#8] sub x1, x1, #8 @@ -95,7 +95,7 @@ Lb11: ldp x6, x7, [x1,#8] ldp x10, x11, [x2,#8] add x1, x1, #8 add x2, x2, #8 - cbz x18, Lend + cbz x17, Lend b Ltop Lbx0: tbnz x3, #1, Lb10 @@ -106,7 +106,7 @@ Lb00: ldp x4, x5, [x1],#-16 Lb10: ldp x6, x7, [x1] ldp x10, x11, [x2] - cbz x18, Lend + cbz x17, Lend .align 4 Ltop: ldp x4, x5, [x1,#16] @@ -123,8 +123,8 @@ Lmid: ldp x6, x7, [x1,#32]! mvn x12, x12 mvn x13, x13 stp x12, x13, [x0],#16 - sub x18, x18, #1 - cbnz x18, Ltop + sub x17, x17, #1 + cbnz x17, Ltop Lend: and x12, x6, x10 and x13, x7, x11 diff --git a/ext/gmp/gen/aarch64-macos/mpn/nior_n.s b/ext/gmp/gen/aarch64-macos/mpn/nior_n.s index 03a2061d69..392a012812 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/nior_n.s +++ b/ext/gmp/gen/aarch64-macos/mpn/nior_n.s @@ -74,7 +74,7 @@ .globl ___gmpn_nior_n ___gmpn_nior_n: - lsr x18, x3, #2 + lsr x17, x3, #2 tbz x3, #0, Lbx0 Lbx1: ldr x7, [x1] @@ -84,7 +84,7 @@ Lbx1: ldr x7, [x1] str x15, [x0],#8 tbnz x3, #1, Lb11 -Lb01: cbz x18, Lret +Lb01: cbz x17, Lret ldp x4, x5, [x1,#8] ldp x8, x9, [x2,#8] sub x1, x1, #8 @@ -95,7 +95,7 @@ Lb11: ldp x6, x7, [x1,#8] ldp x10, x11, [x2,#8] add x1, x1, #8 add x2, x2, #8 - cbz x18, Lend + cbz x17, Lend b Ltop Lbx0: tbnz x3, #1, Lb10 @@ -106,7 +106,7 @@ Lb00: ldp x4, x5, [x1],#-16 Lb10: ldp x6, x7, [x1] ldp x10, x11, [x2] - cbz x18, Lend + cbz x17, Lend .align 4 Ltop: ldp x4, x5, [x1,#16] @@ -123,8 +123,8 @@ Lmid: ldp x6, x7, [x1,#32]! mvn x12, x12 mvn x13, x13 stp x12, x13, [x0],#16 - sub x18, x18, #1 - cbnz x18, Ltop + sub x17, x17, #1 + cbnz x17, Ltop Lend: orr x12, x6, x10 orr x13, x7, x11 diff --git a/ext/gmp/gen/aarch64-macos/mpn/rsblsh1_n.s b/ext/gmp/gen/aarch64-macos/mpn/rsblsh1_n.s index 40fa58cb1b..2d5cf138c0 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/rsblsh1_n.s +++ b/ext/gmp/gen/aarch64-macos/mpn/rsblsh1_n.s @@ -86,14 +86,14 @@ .globl ___gmpn_rsblsh1_n ___gmpn_rsblsh1_n: - lsr x18, x3, #2 + lsr x6, x3, #2 tbz x3, #0, Lbx0 Lbx1: ldr x5, [x1] tbnz x3, #1, Lb11 Lb01: ldr x11, [x2] - cbz x18, L1 + cbz x6, L1 ldp x8, x9, [x2,#8] lsl x13, x11, #1 subs x15, x13, x5 @@ -115,7 +115,7 @@ Lb11: ldr x9, [x2] subs x17, x13, x5 str x17, [x0],#8 sub x1, x1, #8 - cbz x18, Lend + cbz x6, Lend b Ltop Lbx0: tbnz x3, #1, Lb10 @@ -128,7 +128,7 @@ Lb00: subs x11, xzr, xzr Lb10: subs x9, xzr, xzr ldp x10, x11, [x2] sub x1, x1, #16 - cbz x18, Lend + cbz x6, Lend .align 4 Ltop: ldp x4, x5, [x1,#16] @@ -145,8 +145,8 @@ Lmid: ldp x4, x5, [x1,#32]! sbcs x16, x12, x4 sbcs x17, x13, x5 stp x16, x17, [x0],#16 - sub x18, x18, #1 - cbnz x18, Ltop + sub x6, x6, #1 + cbnz x6, Ltop Lend: ldp x4, x5, [x1,#16] extr x12, x10, x9, #63 diff --git a/ext/gmp/gen/aarch64-macos/mpn/rsblsh2_n.s b/ext/gmp/gen/aarch64-macos/mpn/rsblsh2_n.s index 91d6002042..1e79fe1257 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/rsblsh2_n.s +++ b/ext/gmp/gen/aarch64-macos/mpn/rsblsh2_n.s @@ -86,14 +86,14 @@ .globl ___gmpn_rsblsh2_n ___gmpn_rsblsh2_n: - lsr x18, x3, #2 + lsr x6, x3, #2 tbz x3, #0, Lbx0 Lbx1: ldr x5, [x1] tbnz x3, #1, Lb11 Lb01: ldr x11, [x2] - cbz x18, L1 + cbz x6, L1 ldp x8, x9, [x2,#8] lsl x13, x11, #2 subs x15, x13, x5 @@ -115,7 +115,7 @@ Lb11: ldr x9, [x2] subs x17, x13, x5 str x17, [x0],#8 sub x1, x1, #8 - cbz x18, Lend + cbz x6, Lend b Ltop Lbx0: tbnz x3, #1, Lb10 @@ -128,7 +128,7 @@ Lb00: subs x11, xzr, xzr Lb10: subs x9, xzr, xzr ldp x10, x11, [x2] sub x1, x1, #16 - cbz x18, Lend + cbz x6, Lend .align 4 Ltop: ldp x4, x5, [x1,#16] @@ -145,8 +145,8 @@ Lmid: ldp x4, x5, [x1,#32]! sbcs x16, x12, x4 sbcs x17, x13, x5 stp x16, x17, [x0],#16 - sub x18, x18, #1 - cbnz x18, Ltop + sub x6, x6, #1 + cbnz x6, Ltop Lend: ldp x4, x5, [x1,#16] extr x12, x10, x9, #62 diff --git a/ext/gmp/gen/aarch64-macos/mpn/rsh1add_n.s b/ext/gmp/gen/aarch64-macos/mpn/rsh1add_n.s index 3920913f18..0e46013bda 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/rsh1add_n.s +++ b/ext/gmp/gen/aarch64-macos/mpn/rsh1add_n.s @@ -66,7 +66,7 @@ .globl ___gmpn_rsh1add_n ___gmpn_rsh1add_n: - lsr x18, x3, #2 + lsr x6, x3, #2 tbz x3, #0, Lbx0 @@ -76,7 +76,7 @@ Lbx1: ldr x5, [x1],#8 Lb01: adds x13, x5, x9 and x10, x13, #1 - cbz x18, L1 + cbz x6, L1 ldp x4, x5, [x1],#48 ldp x8, x9, [x2],#48 adcs x14, x4, x8 @@ -87,8 +87,8 @@ Lb01: adds x13, x5, x9 adcs x12, x4, x8 adcs x13, x5, x9 str x17, [x0], #24 - sub x18, x18, #1 - cbz x18, Lend + sub x6, x6, #1 + cbz x6, Lend b Ltop L1: cset x14, cs @@ -104,7 +104,7 @@ Lb11: adds x15, x5, x9 ldp x8, x9, [x2],#32 adcs x12, x4, x8 adcs x13, x5, x9 - cbz x18, L3 + cbz x6, L3 ldp x4, x5, [x1,#-16] ldp x8, x9, [x2,#-16] extr x17, x12, x15, #1 @@ -124,7 +124,7 @@ Lb10: ldp x4, x5, [x1],#32 adds x12, x4, x8 adcs x13, x5, x9 and x10, x12, #1 - cbz x18, L2 + cbz x6, L2 ldp x4, x5, [x1,#-16] ldp x8, x9, [x2,#-16] adcs x14, x4, x8 @@ -141,8 +141,8 @@ Lb00: ldp x4, x5, [x1],#48 adcs x12, x4, x8 adcs x13, x5, x9 add x0, x0, #16 - sub x18, x18, #1 - cbz x18, Lend + sub x6, x6, #1 + cbz x6, Lend .align 4 Ltop: ldp x4, x5, [x1,#-16] @@ -159,8 +159,8 @@ Lmid: ldp x4, x5, [x1],#32 adcs x12, x4, x8 adcs x13, x5, x9 stp x16, x17, [x0],#32 - sub x18, x18, #1 - cbnz x18, Ltop + sub x6, x6, #1 + cbnz x6, Ltop Lend: extr x16, x15, x14, #1 extr x17, x12, x15, #1 diff --git a/ext/gmp/gen/aarch64-macos/mpn/rsh1sub_n.s b/ext/gmp/gen/aarch64-macos/mpn/rsh1sub_n.s index 745db9ec02..2600b60f32 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/rsh1sub_n.s +++ b/ext/gmp/gen/aarch64-macos/mpn/rsh1sub_n.s @@ -66,7 +66,7 @@ .globl ___gmpn_rsh1sub_n ___gmpn_rsh1sub_n: - lsr x18, x3, #2 + lsr x6, x3, #2 tbz x3, #0, Lbx0 @@ -76,7 +76,7 @@ Lbx1: ldr x5, [x1],#8 Lb01: subs x13, x5, x9 and x10, x13, #1 - cbz x18, L1 + cbz x6, L1 ldp x4, x5, [x1],#48 ldp x8, x9, [x2],#48 sbcs x14, x4, x8 @@ -87,8 +87,8 @@ Lb01: subs x13, x5, x9 sbcs x12, x4, x8 sbcs x13, x5, x9 str x17, [x0], #24 - sub x18, x18, #1 - cbz x18, Lend + sub x6, x6, #1 + cbz x6, Lend b Ltop L1: cset x14, cc @@ -104,7 +104,7 @@ Lb11: subs x15, x5, x9 ldp x8, x9, [x2],#32 sbcs x12, x4, x8 sbcs x13, x5, x9 - cbz x18, L3 + cbz x6, L3 ldp x4, x5, [x1,#-16] ldp x8, x9, [x2,#-16] extr x17, x12, x15, #1 @@ -124,7 +124,7 @@ Lb10: ldp x4, x5, [x1],#32 subs x12, x4, x8 sbcs x13, x5, x9 and x10, x12, #1 - cbz x18, L2 + cbz x6, L2 ldp x4, x5, [x1,#-16] ldp x8, x9, [x2,#-16] sbcs x14, x4, x8 @@ -141,8 +141,8 @@ Lb00: ldp x4, x5, [x1],#48 sbcs x12, x4, x8 sbcs x13, x5, x9 add x0, x0, #16 - sub x18, x18, #1 - cbz x18, Lend + sub x6, x6, #1 + cbz x6, Lend .align 4 Ltop: ldp x4, x5, [x1,#-16] @@ -159,8 +159,8 @@ Lmid: ldp x4, x5, [x1],#32 sbcs x12, x4, x8 sbcs x13, x5, x9 stp x16, x17, [x0],#32 - sub x18, x18, #1 - cbnz x18, Ltop + sub x6, x6, #1 + cbnz x6, Ltop Lend: extr x16, x15, x14, #1 extr x17, x12, x15, #1 diff --git a/ext/gmp/gen/aarch64-macos/mpn/rshift.s b/ext/gmp/gen/aarch64-macos/mpn/rshift.s index 472e5bc426..a27751987b 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/rshift.s +++ b/ext/gmp/gen/aarch64-macos/mpn/rshift.s @@ -72,7 +72,7 @@ ___gmpn_rshift: mov x16, x0 sub x8, xzr, x3 - lsr x18, x2, #2 + lsr x17, x2, #2 tbz x2, #0, Lbx0 Lbx1: ldr x5, [x1] @@ -80,7 +80,7 @@ Lbx1: ldr x5, [x1] Lb01: lsl x0, x5, x8 lsr x2, x5, x3 - cbnz x18, Lgt1 + cbnz x17, Lgt1 str x2, [x16] ret Lgt1: ldp x4, x5, [x1,#8] @@ -101,7 +101,7 @@ Lb10: lsl x0, x4, x8 lsr x13, x4, x3 lsl x10, x5, x8 lsr x2, x5, x3 - cbnz x18, Lgt2 + cbnz x17, Lgt2 orr x10, x10, x13 stp x10, x2, [x16] ret @@ -133,11 +133,11 @@ Llo2: lsl x10, x5, x8 orr x11, x12, x2 stp x11, x10, [x16,#32]! lsr x2, x5, x3 -Llo0: sub x18, x18, #1 +Llo0: sub x17, x17, #1 Llo3: lsl x10, x7, x8 lsl x12, x6, x8 lsr x13, x6, x3 - cbnz x18, Ltop + cbnz x17, Ltop Lend: orr x10, x10, x13 orr x11, x12, x2 diff --git a/ext/gmp/gen/aarch64-macos/mpn/sqr_diag_addlsh1.s b/ext/gmp/gen/aarch64-macos/mpn/sqr_diag_addlsh1.s index 0e01e2858a..0255158b72 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/sqr_diag_addlsh1.s +++ b/ext/gmp/gen/aarch64-macos/mpn/sqr_diag_addlsh1.s @@ -58,7 +58,7 @@ ___gmpn_sqr_diag_addlsh1: ldr x15, [x2],#8 - lsr x18, x3, #1 + lsr x14, x3, #1 tbz x3, #0, Lbx0 Lbx1: adds x7, xzr, xzr @@ -73,8 +73,8 @@ Lbx0: adds x5, xzr, xzr ldr x17, [x2],#16 ldp x6, x7, [x1],#32 umulh x11, x15, x15 - sub x18, x18, #1 - cbz x18, Lend + sub x14, x14, #1 + cbz x14, Lend .align 4 Ltop: extr x9, x6, x5, #63 @@ -95,8 +95,8 @@ Lmid: extr x9, x4, x7, #63 extr x8, x5, x4, #63 stp x12, x13, [x0],#16 adcs x12, x8, x10 - sub x18, x18, #1 - cbnz x18, Ltop + sub x14, x14, #1 + cbnz x14, Ltop Lend: extr x9, x6, x5, #63 mul x10, x17, x17 diff --git a/ext/gmp/gen/aarch64-macos/mpn/sub_n.s b/ext/gmp/gen/aarch64-macos/mpn/sub_n.s index 0ed940928d..3695521862 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/sub_n.s +++ b/ext/gmp/gen/aarch64-macos/mpn/sub_n.s @@ -77,7 +77,7 @@ ___gmpn_sub_nc: ___gmpn_sub_n: cmp xzr, xzr -Lent: lsr x18, x3, #2 +Lent: lsr x17, x3, #2 tbz x3, #0, Lbx0 Lbx1: ldr x7, [x1] @@ -86,7 +86,7 @@ Lbx1: ldr x7, [x1] str x13, [x0],#8 tbnz x3, #1, Lb11 -Lb01: cbz x18, Lret +Lb01: cbz x17, Lret ldp x4, x5, [x1,#8] ldp x8, x9, [x2,#8] sub x1, x1, #8 @@ -97,7 +97,7 @@ Lb11: ldp x6, x7, [x1,#8] ldp x10, x11, [x2,#8] add x1, x1, #8 add x2, x2, #8 - cbz x18, Lend + cbz x17, Lend b Ltop Lbx0: tbnz x3, #1, Lb10 @@ -110,7 +110,7 @@ Lb00: ldp x4, x5, [x1] Lb10: ldp x6, x7, [x1] ldp x10, x11, [x2] - cbz x18, Lend + cbz x17, Lend .align 4 Ltop: ldp x4, x5, [x1,#16] @@ -123,8 +123,8 @@ Lmid: ldp x6, x7, [x1,#32]! sbcs x12, x4, x8 sbcs x13, x5, x9 stp x12, x13, [x0],#16 - sub x18, x18, #1 - cbnz x18, Ltop + sub x17, x17, #1 + cbnz x17, Ltop Lend: sbcs x12, x6, x10 sbcs x13, x7, x11 diff --git a/ext/gmp/gen/aarch64-macos/mpn/sublsh1_n.s b/ext/gmp/gen/aarch64-macos/mpn/sublsh1_n.s index 7bc7204291..e3e924f379 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/sublsh1_n.s +++ b/ext/gmp/gen/aarch64-macos/mpn/sublsh1_n.s @@ -86,14 +86,14 @@ .globl ___gmpn_sublsh1_n ___gmpn_sublsh1_n: - lsr x18, x3, #2 + lsr x6, x3, #2 tbz x3, #0, Lbx0 Lbx1: ldr x5, [x1] tbnz x3, #1, Lb11 Lb01: ldr x11, [x2] - cbz x18, L1 + cbz x6, L1 ldp x8, x9, [x2,#8] lsl x13, x11, #1 subs x15, x5, x13 @@ -115,7 +115,7 @@ Lb11: ldr x9, [x2] subs x17, x5, x13 str x17, [x0],#8 sub x1, x1, #8 - cbz x18, Lend + cbz x6, Lend b Ltop Lbx0: tbnz x3, #1, Lb10 @@ -128,7 +128,7 @@ Lb00: subs x11, xzr, xzr Lb10: subs x9, xzr, xzr ldp x10, x11, [x2] sub x1, x1, #16 - cbz x18, Lend + cbz x6, Lend .align 4 Ltop: ldp x4, x5, [x1,#16] @@ -145,8 +145,8 @@ Lmid: ldp x4, x5, [x1,#32]! sbcs x16, x4, x12 sbcs x17, x5, x13 stp x16, x17, [x0],#16 - sub x18, x18, #1 - cbnz x18, Ltop + sub x6, x6, #1 + cbnz x6, Ltop Lend: ldp x4, x5, [x1,#16] extr x12, x10, x9, #63 diff --git a/ext/gmp/gen/aarch64-macos/mpn/sublsh2_n.s b/ext/gmp/gen/aarch64-macos/mpn/sublsh2_n.s index 3b37de4c79..0df8084a3b 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/sublsh2_n.s +++ b/ext/gmp/gen/aarch64-macos/mpn/sublsh2_n.s @@ -86,14 +86,14 @@ .globl ___gmpn_sublsh2_n ___gmpn_sublsh2_n: - lsr x18, x3, #2 + lsr x6, x3, #2 tbz x3, #0, Lbx0 Lbx1: ldr x5, [x1] tbnz x3, #1, Lb11 Lb01: ldr x11, [x2] - cbz x18, L1 + cbz x6, L1 ldp x8, x9, [x2,#8] lsl x13, x11, #2 subs x15, x5, x13 @@ -115,7 +115,7 @@ Lb11: ldr x9, [x2] subs x17, x5, x13 str x17, [x0],#8 sub x1, x1, #8 - cbz x18, Lend + cbz x6, Lend b Ltop Lbx0: tbnz x3, #1, Lb10 @@ -128,7 +128,7 @@ Lb00: subs x11, xzr, xzr Lb10: subs x9, xzr, xzr ldp x10, x11, [x2] sub x1, x1, #16 - cbz x18, Lend + cbz x6, Lend .align 4 Ltop: ldp x4, x5, [x1,#16] @@ -145,8 +145,8 @@ Lmid: ldp x4, x5, [x1,#32]! sbcs x16, x4, x12 sbcs x17, x5, x13 stp x16, x17, [x0],#16 - sub x18, x18, #1 - cbnz x18, Ltop + sub x6, x6, #1 + cbnz x6, Ltop Lend: ldp x4, x5, [x1,#16] extr x12, x10, x9, #62 diff --git a/ext/gmp/gen/aarch64-macos/mpn/submul_1.s b/ext/gmp/gen/aarch64-macos/mpn/submul_1.s index 439b82096b..11f80f4673 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/submul_1.s +++ b/ext/gmp/gen/aarch64-macos/mpn/submul_1.s @@ -54,6 +54,11 @@ + + + + + diff --git a/ext/gmp/gen/aarch64-macos/mpn/xnor_n.s b/ext/gmp/gen/aarch64-macos/mpn/xnor_n.s index 5ddbb4a9d2..345378e20c 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/xnor_n.s +++ b/ext/gmp/gen/aarch64-macos/mpn/xnor_n.s @@ -73,7 +73,7 @@ .globl ___gmpn_xnor_n ___gmpn_xnor_n: - lsr x18, x3, #2 + lsr x17, x3, #2 tbz x3, #0, Lbx0 Lbx1: ldr x7, [x1] @@ -82,7 +82,7 @@ Lbx1: ldr x7, [x1] str x15, [x0],#8 tbnz x3, #1, Lb11 -Lb01: cbz x18, Lret +Lb01: cbz x17, Lret ldp x4, x5, [x1,#8] ldp x8, x9, [x2,#8] sub x1, x1, #8 @@ -93,7 +93,7 @@ Lb11: ldp x6, x7, [x1,#8] ldp x10, x11, [x2,#8] add x1, x1, #8 add x2, x2, #8 - cbz x18, Lend + cbz x17, Lend b Ltop Lbx0: tbnz x3, #1, Lb10 @@ -104,7 +104,7 @@ Lb00: ldp x4, x5, [x1],#-16 Lb10: ldp x6, x7, [x1] ldp x10, x11, [x2] - cbz x18, Lend + cbz x17, Lend .align 4 Ltop: ldp x4, x5, [x1,#16] @@ -117,8 +117,8 @@ Lmid: ldp x6, x7, [x1,#32]! eon x12, x4, x8 eon x13, x5, x9 stp x12, x13, [x0],#16 - sub x18, x18, #1 - cbnz x18, Ltop + sub x17, x17, #1 + cbnz x17, Ltop Lend: eon x12, x6, x10 eon x13, x7, x11 diff --git a/ext/gmp/gen/aarch64-macos/mpn/xor_n.s b/ext/gmp/gen/aarch64-macos/mpn/xor_n.s index d696c28867..2b59a4b079 100644 --- a/ext/gmp/gen/aarch64-macos/mpn/xor_n.s +++ b/ext/gmp/gen/aarch64-macos/mpn/xor_n.s @@ -73,7 +73,7 @@ .globl ___gmpn_xor_n ___gmpn_xor_n: - lsr x18, x3, #2 + lsr x17, x3, #2 tbz x3, #0, Lbx0 Lbx1: ldr x7, [x1] @@ -82,7 +82,7 @@ Lbx1: ldr x7, [x1] str x15, [x0],#8 tbnz x3, #1, Lb11 -Lb01: cbz x18, Lret +Lb01: cbz x17, Lret ldp x4, x5, [x1,#8] ldp x8, x9, [x2,#8] sub x1, x1, #8 @@ -93,7 +93,7 @@ Lb11: ldp x6, x7, [x1,#8] ldp x10, x11, [x2,#8] add x1, x1, #8 add x2, x2, #8 - cbz x18, Lend + cbz x17, Lend b Ltop Lbx0: tbnz x3, #1, Lb10 @@ -104,7 +104,7 @@ Lb00: ldp x4, x5, [x1],#-16 Lb10: ldp x6, x7, [x1] ldp x10, x11, [x2] - cbz x18, Lend + cbz x17, Lend .align 4 Ltop: ldp x4, x5, [x1,#16] @@ -117,8 +117,8 @@ Lmid: ldp x6, x7, [x1,#32]! eor x12, x4, x8 eor x13, x5, x9 stp x12, x13, [x0],#16 - sub x18, x18, #1 - cbnz x18, Ltop + sub x17, x17, #1 + cbnz x17, Ltop Lend: eor x12, x6, x10 eor x13, x7, x11 diff --git a/ext/gmp/gen/x86_64-linux/sieve_table.h b/ext/gmp/gen/x86_64-linux/sieve_table.h new file mode 100644 index 0000000000..ee9ac14360 --- /dev/null +++ b/ext/gmp/gen/x86_64-linux/sieve_table.h @@ -0,0 +1,46 @@ +/* This file generated by gen-sieve.c - DO NOT EDIT. */ + +#if GMP_LIMB_BITS != 64 +Error, error, this data is for 64 bits +#endif + +#define PRIMESIEVE_INIT_TABLE \ + CNST_LIMB (0x3294C9E069128480), /* 5 - 196 (42 primes) */ \ + CNST_LIMB (0x95A35E1EC4AB21DC), /* 197 - 388 (32 primes) */ \ + CNST_LIMB (0x4AD7CE99B8693366), /* 389 - 580 (30 primes) */ \ + CNST_LIMB (0x6595B6DA728DC52B), /* 581 - 772 (30 primes) */ \ + CNST_LIMB (0xEA6D9F8787B0CEDE), /* 773 - 964 (26 primes) */ \ + CNST_LIMB (0x3F56A1F4CD3275A9), /* 965 - 1156 (29 primes) */ \ + CNST_LIMB (0xFD3848FB74A76ADB), /* 1157 - 1348 (26 primes) */ \ + CNST_LIMB (0xDBBA0DD1A1EDF6AF), /* 1349 - 1540 (25 primes) */ \ + CNST_LIMB (0xCEC7F17ED22799A5), /* 1541 - 1732 (27 primes) */ \ + CNST_LIMB (0xEAEC17BDBB717D56), /* 1733 - 1924 (24 primes) */ \ + CNST_LIMB (0x3B0EB7B3585AFCF3), /* 1925 - 2116 (26 primes) */ \ + CNST_LIMB (0xE563D8F69FDF6C4F), /* 2117 - 2308 (23 primes) */ \ + CNST_LIMB (0xFE5BA7ABA45E92FC), /* 2309 - 2500 (25 primes) */ \ + CNST_LIMB (0x158DEE6F3BF49B7D), /* 2501 - 2692 (24 primes) */ \ + CNST_LIMB (0xBE5A7BC4EDE6CD1A), /* 2693 - 2884 (26 primes) */ \ + CNST_LIMB (0xD7679B3FCA7BB6AD), /* 2885 - 3076 (22 primes) */ \ + CNST_LIMB (0xC3F66B971FEF37E9), /* 3077 - 3268 (22 primes) */ \ + CNST_LIMB (0x6F7EBCF339C953FD), /* 3269 - 3460 (22 primes) */ \ + CNST_LIMB (0xD5A5ECDCD235DBF0), /* 3461 - 3652 (27 primes) */ \ + CNST_LIMB (0xECFA7B2FD5B65E3B), /* 3653 - 3844 (22 primes) */ \ + CNST_LIMB (0xD28EFDF9C89F67B1), /* 3845 - 4036 (25 primes) */ \ + CNST_LIMB (0xCB7F7C7A3DD3AF4F), /* 4037 - 4228 (21 primes) */ \ + CNST_LIMB (0xEEBED6CDFF6B32CC), /* 4229 - 4420 (22 primes) */ \ + CNST_LIMB (0xD5BD73F85ECFA97C), /* 4421 - 4612 (23 primes) */ \ + CNST_LIMB (0x21FDBE4FBBAD48F7), /* 4613 - 4804 (24 primes) */ \ + CNST_LIMB (0x5E35A3B5EEB7FDE7), /* 4805 - 4996 (21 primes) */ \ + CNST_LIMB (0xD9EBFD53A7DBBCC9), /* 4997 - 5188 (22 primes) */ \ + CNST_LIMB (0xFF9EDEAF2EFE1F76), /* 5189 - 5380 (18 primes) */ +#define PRIMESIEVE_NUMBEROF_TABLE 28 +/* #define PRIMESIEVE_PRIMES_IN_TABLE 706 */ +#define PRIMESIEVE_HIGHEST_PRIME 5351 +/* #define PRIMESIEVE_FIRST_UNCHECKED 5381 */ + +#define SIEVE_MASK1 CNST_LIMB(0x3204C1A049120485) +#define SIEVE_MASKT CNST_LIMB(0xA1204892058) +#define SIEVE_2MSK1 CNST_LIMB(0x29048402110840A) +#define SIEVE_2MSK2 CNST_LIMB(0x9402180C40230184) +#define SIEVE_2MSKT CNST_LIMB(0x5021088402120) + From c75bd00c40246ba69425c60eb92cfa52f0e64950 Mon Sep 17 00:00:00 2001 From: nathanlever Date: Thu, 17 Oct 2024 16:43:43 +0300 Subject: [PATCH 3/6] build: upgrade gmp to 6.3.0 on x86_64-macos --- ext/gmp/gen/x86_64-macos/config.h | 18 +- ext/gmp/gen/x86_64-macos/mpn/addlsh_n.s | 1 + ext/gmp/gen/x86_64-macos/mpn/addmul_1.s | 2 + ext/gmp/gen/x86_64-macos/mpn/mul_basecase.s | 3 +- ext/gmp/gen/x86_64-macos/mpn/rsblsh_n.s | 1 + ext/gmp/gen/x86_64-macos/mpn/sbpi1_bdiv_r.s | 681 ++++++++++++++++++++ ext/gmp/gen/x86_64-macos/sieve_table.h | 46 ++ 7 files changed, 743 insertions(+), 9 deletions(-) create mode 100644 ext/gmp/gen/x86_64-macos/mpn/sbpi1_bdiv_r.s create mode 100644 ext/gmp/gen/x86_64-macos/sieve_table.h diff --git a/ext/gmp/gen/x86_64-macos/config.h b/ext/gmp/gen/x86_64-macos/config.h index 1fbed06fdb..72cebebce1 100644 --- a/ext/gmp/gen/x86_64-macos/config.h +++ b/ext/gmp/gen/x86_64-macos/config.h @@ -3,7 +3,7 @@ /* -Copyright 1996-2020 Free Software Foundation, Inc. +Copyright 1996-2022 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -187,6 +187,7 @@ see https://www.gnu.org/licenses/. /* #undef HAVE_HOST_CPU_skylake */ /* #undef HAVE_HOST_CPU_silvermont */ /* #undef HAVE_HOST_CPU_goldmont */ +/* #undef HAVE_HOST_CPU_tremont */ /* #undef HAVE_HOST_CPU_k8 */ /* #undef HAVE_HOST_CPU_k10 */ /* #undef HAVE_HOST_CPU_bulldozer */ @@ -201,6 +202,9 @@ see https://www.gnu.org/licenses/. /* #undef HAVE_HOST_CPU_s390_z9 */ /* #undef HAVE_HOST_CPU_s390_z10 */ /* #undef HAVE_HOST_CPU_s390_z196 */ +/* #undef HAVE_HOST_CPU_s390_z13 */ +/* #undef HAVE_HOST_CPU_s390_z14 */ +/* #undef HAVE_HOST_CPU_s390_z15 */ /* Define to 1 iff we have a s390 with 64-bit registers. */ /* #undef HAVE_HOST_CPU_s390_zarch */ @@ -258,7 +262,7 @@ see https://www.gnu.org/licenses/. #define HAVE_NATIVE_mpn_add_n 1 /* #undef HAVE_NATIVE_mpn_add_n_sub_n */ #define HAVE_NATIVE_mpn_add_nc 1 -#define HAVE_NATIVE_mpn_addaddmul_1msb0 1 +/* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */ #define HAVE_NATIVE_mpn_addlsh1_n 1 #define HAVE_NATIVE_mpn_addlsh2_n 1 #define HAVE_NATIVE_mpn_addlsh_n 1 @@ -348,7 +352,7 @@ see https://www.gnu.org/licenses/. #define HAVE_NATIVE_mpn_rsh1sub_n 1 #define HAVE_NATIVE_mpn_rsh1sub_nc 1 #define HAVE_NATIVE_mpn_rshift 1 -/* #undef HAVE_NATIVE_mpn_sbpi1_bdiv_r */ +#define HAVE_NATIVE_mpn_sbpi1_bdiv_r 1 #define HAVE_NATIVE_mpn_sqr_basecase 1 /* #undef HAVE_NATIVE_mpn_sqr_diagonal */ #define HAVE_NATIVE_mpn_sqr_diag_addlsh1 1 @@ -542,13 +546,13 @@ see https://www.gnu.org/licenses/. #define PACKAGE "gmp" /* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org, see https://gmplib.org/manual/Reporting-Bugs.html" +#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org (see https://gmplib.org/manual/Reporting-Bugs.html)" /* Define to the full name of this package. */ #define PACKAGE_NAME "GNU MP" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU MP 6.2.1" +#define PACKAGE_STRING "GNU MP 6.3.0" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gmp" @@ -557,7 +561,7 @@ see https://www.gnu.org/licenses/. #define PACKAGE_URL "http://www.gnu.org/software/gmp/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "6.2.1" +#define PACKAGE_VERSION "6.3.0" /* Define as the return type of signal handlers (`int' or `void'). */ #define RETSIGTYPE void @@ -590,7 +594,7 @@ see https://www.gnu.org/licenses/. /* #undef TUNE_SQR_TOOM2_MAX */ /* Version number of package */ -#define VERSION "6.2.1" +#define VERSION "6.3.0" /* Define to 1 to enable ASSERT checking, per --enable-assert */ /* #undef WANT_ASSERT */ diff --git a/ext/gmp/gen/x86_64-macos/mpn/addlsh_n.s b/ext/gmp/gen/x86_64-macos/mpn/addlsh_n.s index 09035432cf..f71088eb48 100644 --- a/ext/gmp/gen/x86_64-macos/mpn/addlsh_n.s +++ b/ext/gmp/gen/x86_64-macos/mpn/addlsh_n.s @@ -89,6 +89,7 @@ + diff --git a/ext/gmp/gen/x86_64-macos/mpn/addmul_1.s b/ext/gmp/gen/x86_64-macos/mpn/addmul_1.s index b884829fe2..0435e8ae76 100644 --- a/ext/gmp/gen/x86_64-macos/mpn/addmul_1.s +++ b/ext/gmp/gen/x86_64-macos/mpn/addmul_1.s @@ -69,6 +69,8 @@ + + diff --git a/ext/gmp/gen/x86_64-macos/mpn/mul_basecase.s b/ext/gmp/gen/x86_64-macos/mpn/mul_basecase.s index 0e74e66cde..9d24fda96c 100644 --- a/ext/gmp/gen/x86_64-macos/mpn/mul_basecase.s +++ b/ext/gmp/gen/x86_64-macos/mpn/mul_basecase.s @@ -311,8 +311,7 @@ Ldone: ret -Lf2: - .byte 0xc4,98,171,0xf6,94,248 +Lf2: .byte 0xc4,98,171,0xf6,94,248 lea 8(%rdi,%rbx,8), %rdi .byte 0xc4,98,155,0xf6,14 diff --git a/ext/gmp/gen/x86_64-macos/mpn/rsblsh_n.s b/ext/gmp/gen/x86_64-macos/mpn/rsblsh_n.s index 0117c0d9c2..329c600b48 100644 --- a/ext/gmp/gen/x86_64-macos/mpn/rsblsh_n.s +++ b/ext/gmp/gen/x86_64-macos/mpn/rsblsh_n.s @@ -90,6 +90,7 @@ + diff --git a/ext/gmp/gen/x86_64-macos/mpn/sbpi1_bdiv_r.s b/ext/gmp/gen/x86_64-macos/mpn/sbpi1_bdiv_r.s new file mode 100644 index 0000000000..dcf3376688 --- /dev/null +++ b/ext/gmp/gen/x86_64-macos/mpn/sbpi1_bdiv_r.s @@ -0,0 +1,681 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .text + .align 4, 0x90 + .globl ___gmpn_sbpi1_bdiv_r + + +___gmpn_sbpi1_bdiv_r: + + + + + lea Latab(%rip), %r10 + + cmp $8, %rcx + jbe Lsma + + + +Lgen: push %rbx + push %rbp + push %r12 + push %r13 + push %r14 + + mov %rdx, %r14 + xor %r13, %r13 + + sub %rcx, %rsi + + lea -8(,%rcx,8), %rbx + neg %rbx + mov %rcx, %rbp + mov %ecx, %eax + shr $3, %rbp + and $7, %eax + + movslq (%r10,%rax,4), %rax + lea (%rax,%r10), %rax + + mov (%rdi), %rdx + imul %r8, %rdx + jmp Louter + +Lf0: .byte 0xc4,66,171,0xf6,30 + lea -1(%rcx), %rcx + .byte 0xc4,66,155,0xf6,78,8 + lea -8(%r14), %r14 + .byte 0x66,77,0x0f,0x38,0xf6,227 + .byte 0xf3,76,0x0f,0x38,0xf6,23 + lea -8(%rdi), %rdi + jmp Lb0x + +Lf3: .byte 0xc4,66,155,0xf6,14 + .byte 0xc4,66,171,0xf6,94,8 + .byte 0xf3,76,0x0f,0x38,0xf6,39 + lea -48(%rdi), %rdi + lea 16(%r14), %r14 + jmp Lb3x + +Lf4: .byte 0xc4,66,171,0xf6,30 + .byte 0xc4,66,155,0xf6,78,8 + lea 24(%r14), %r14 + .byte 0xf3,76,0x0f,0x38,0xf6,23 + lea -40(%rdi), %rdi + .byte 0x66,77,0x0f,0x38,0xf6,227 + jmp Lb4x + +Lf5: .byte 0xc4,66,155,0xf6,14 + .byte 0xc4,66,171,0xf6,94,8 + lea 32(%r14), %r14 + .byte 0x66,77,0x0f,0x38,0xf6,209 + .byte 0xf3,76,0x0f,0x38,0xf6,39 + lea -32(%rdi), %rdi + jmp Lb5x + +Lf6: .byte 0xc4,66,171,0xf6,30 + .byte 0xc4,66,155,0xf6,78,8 + lea 40(%r14), %r14 + .byte 0xf3,76,0x0f,0x38,0xf6,23 + lea -24(%rdi), %rdi + .byte 0x66,77,0x0f,0x38,0xf6,227 + jmp Lb6x + +Lf7: .byte 0xc4,66,155,0xf6,14 + .byte 0xc4,66,171,0xf6,94,8 + lea 48(%r14), %r14 + .byte 0x66,77,0x0f,0x38,0xf6,209 + .byte 0xf3,76,0x0f,0x38,0xf6,39 + lea -16(%rdi), %rdi + jmp Lb7x + +Lf1: .byte 0xc4,66,155,0xf6,14 + .byte 0xc4,66,171,0xf6,94,8 + .byte 0xf3,76,0x0f,0x38,0xf6,39 + lea -1(%rcx), %rcx + jmp Lb1x + +Lf2: .byte 0xc4,66,171,0xf6,30 + .byte 0xc4,66,155,0xf6,78,8 + lea 8(%r14), %r14 + .byte 0xf3,76,0x0f,0x38,0xf6,23 + lea 8(%rdi), %rdi + .byte 0x66,77,0x0f,0x38,0xf6,227 + jmp Lb2x + +Lend: .byte 0xf3,76,0x0f,0x38,0xf6,39 + .byte 0xf3,76,0x0f,0x38,0xf6,201 + mov %r12, (%rdi) + adc %rcx, %r9 + mov 8(%rdi,%rbx), %rdx + .byte 0xc4,66,235,0xf6,224 + bt $0, %r13d + adc %r9, 8(%rdi) + setc %r13b + dec %rsi + jz Ldone + + lea (%r14,%rbx), %r14 + lea 8(%rdi,%rbx), %rdi +Louter: + mov %rbp, %rcx + test %eax, %eax + jmp *%rax + + .align 4, 0x90 +Ltop: .byte 0xf3,76,0x0f,0x38,0xf6,87,248 + .byte 0x66,77,0x0f,0x38,0xf6,227 + mov %r10, -8(%rdi) + jrcxz Lend +Lb2x: .byte 0xc4,66,171,0xf6,94,8 + .byte 0xf3,76,0x0f,0x38,0xf6,39 + lea -1(%rcx), %rcx + mov %r12, (%rdi) +Lb1x: .byte 0x66,77,0x0f,0x38,0xf6,209 + .byte 0xc4,66,155,0xf6,78,16 + .byte 0x66,77,0x0f,0x38,0xf6,227 + .byte 0xf3,76,0x0f,0x38,0xf6,87,8 + mov %r10, 8(%rdi) +Lb0x: .byte 0xc4,66,171,0xf6,94,24 + lea 64(%r14), %r14 + .byte 0x66,77,0x0f,0x38,0xf6,209 + .byte 0xf3,76,0x0f,0x38,0xf6,103,16 + mov %r12, 16(%rdi) +Lb7x: .byte 0xc4,66,155,0xf6,78,224 + .byte 0xf3,76,0x0f,0x38,0xf6,87,24 + .byte 0x66,77,0x0f,0x38,0xf6,227 + mov %r10, 24(%rdi) +Lb6x: .byte 0xc4,66,171,0xf6,94,232 + .byte 0x66,77,0x0f,0x38,0xf6,209 + .byte 0xf3,76,0x0f,0x38,0xf6,103,32 + mov %r12, 32(%rdi) +Lb5x: .byte 0xc4,66,155,0xf6,78,240 + .byte 0xf3,76,0x0f,0x38,0xf6,87,40 + .byte 0x66,77,0x0f,0x38,0xf6,227 + mov %r10, 40(%rdi) +Lb4x: .byte 0xf3,76,0x0f,0x38,0xf6,103,48 + .byte 0xc4,66,171,0xf6,94,248 + mov %r12, 48(%rdi) +Lb3x: lea 64(%rdi), %rdi + .byte 0x66,77,0x0f,0x38,0xf6,209 + .byte 0xc4,66,155,0xf6,14 + jmp Ltop + +Ldone:mov %r13, %rax + pop %r14 + pop %r13 + pop %r12 + pop %rbp + pop %rbx + + ret + +Lsma: + movslq 28(%r10,%rcx,4), %rax + lea (%rax,%r10), %rax + + jmp *%rax + +L1: mov (%rdx), %r10 + xor %eax, %eax + mov (%rdi), %rdx + dec %rsi + mov %rdx, %r9 +Lo1: .byte 0xc4,66,235,0xf6,216 + lea 8(%rdi), %rdi + .byte 0xc4,194,243,0xf6,210 + add %r9, %rcx + adc %rax, %rdx + add (%rdi), %rdx + setc %al + mov %rdx, %r9 + dec %rsi + jnz Lo1 + mov %r9, (%rdi) + + + ret + + +L2: push %r12 + push %r14 + + mov %rdx, %r14 + sub %rcx, %rsi + mov (%rdi), %rdx + imul %r8, %rdx + + + + push %rbx + push %r13 + xor %r13d, %r13d + mov (%rdi), %rax + mov 8(%rdi), %rbx +Lo2: xor %ecx, %ecx + .byte 0xc4,66,171,0xf6,30 + .byte 0xc4,66,235,0xf6,78,8 + .byte 0xf3,76,0x0f,0x38,0xf6,208 + .byte 0x66,73,0x0f,0x38,0xf6,211 + .byte 0xf3,72,0x0f,0x38,0xf6,211 + .byte 0xf3,76,0x0f,0x38,0xf6,201 + mov %rdx, %rax + adc %rcx, %r9 + imul %r8, %rdx + bt $0, %r13d + adc 16(%rdi), %r9 + mov %r9, %rbx + setc %r13b + lea 8(%rdi), %rdi + dec %rsi + jnz Lo2 + + mov %rax, (%rdi) + mov %rbx, 8(%rdi) + mov %r13, %rax + pop %r13 + pop %rbx + + + + pop %r14 + pop %r12 + + ret + + +L3: push %rbx + push %r12 + push %r13 + push %r14 + + mov %rdx, %r14 + xor %r13, %r13 + sub %rcx, %rsi + mov (%rdi), %rax + mov 8(%rdi), %rbx + mov %rax, %rdx + imul %r8, %rdx +Lo3: xor %ecx, %ecx + .byte 0xc4,66,155,0xf6,14 + .byte 0xf3,76,0x0f,0x38,0xf6,224 + .byte 0xc4,66,251,0xf6,94,8 + .byte 0x66,73,0x0f,0x38,0xf6,193 + .byte 0xf3,72,0x0f,0x38,0xf6,195 + .byte 0xc4,66,227,0xf6,78,16 + mov %r8, %rdx + .byte 0xc4,98,235,0xf6,224 + .byte 0x66,73,0x0f,0x38,0xf6,219 + .byte 0xf3,72,0x0f,0x38,0xf6,95,16 + .byte 0xf3,76,0x0f,0x38,0xf6,201 + adc $0, %r9 + bt $0, %r13d + adc %r9, 24(%rdi) + setc %r13b + lea 8(%rdi), %rdi + dec %rsi + jnz Lo3 + jmp Lesma + + + +L4: push %rbx + push %r12 + push %r13 + push %r14 + + mov %rdx, %r14 + xor %r13, %r13 + sub %rcx, %rsi + mov (%rdi), %rax + mov 8(%rdi), %rbx + mov %rax, %rdx + imul %r8, %rdx +Lo4: xor %ecx, %ecx + .byte 0xc4,66,171,0xf6,30 + .byte 0xf3,76,0x0f,0x38,0xf6,208 + .byte 0xc4,66,251,0xf6,78,8 + .byte 0x66,73,0x0f,0x38,0xf6,195 + .byte 0xf3,72,0x0f,0x38,0xf6,195 + .byte 0xc4,66,227,0xf6,94,16 + .byte 0x66,73,0x0f,0x38,0xf6,217 + .byte 0xc4,66,155,0xf6,78,24 + mov %r8, %rdx + .byte 0xc4,98,235,0xf6,208 + .byte 0xf3,72,0x0f,0x38,0xf6,95,16 + .byte 0x66,77,0x0f,0x38,0xf6,227 + .byte 0xf3,76,0x0f,0x38,0xf6,103,24 + .byte 0xf3,76,0x0f,0x38,0xf6,201 + mov %r12, 24(%rdi) + adc %rcx, %r9 + bt $0, %r13d + adc %r9, 32(%rdi) + setc %r13b + lea 8(%rdi), %rdi + dec %rsi + jnz Lo4 + jmp Lesma + + + +L5: push %rbx + push %r12 + push %r13 + push %r14 + + mov %rdx, %r14 + xor %r13, %r13 + sub %rcx, %rsi + mov (%rdi), %rax + mov 8(%rdi), %rbx + mov %rax, %rdx + imul %r8, %rdx +Lo5: xor %ecx, %ecx + .byte 0xc4,66,155,0xf6,14 + .byte 0xf3,76,0x0f,0x38,0xf6,224 + .byte 0xc4,66,251,0xf6,94,8 + .byte 0x66,73,0x0f,0x38,0xf6,193 + .byte 0xf3,72,0x0f,0x38,0xf6,195 + .byte 0xc4,66,227,0xf6,78,16 + .byte 0x66,73,0x0f,0x38,0xf6,219 + .byte 0xf3,72,0x0f,0x38,0xf6,95,16 + .byte 0xc4,66,171,0xf6,94,24 + .byte 0x66,77,0x0f,0x38,0xf6,209 + .byte 0xc4,66,155,0xf6,78,32 + .byte 0xf3,76,0x0f,0x38,0xf6,87,24 + .byte 0x66,77,0x0f,0x38,0xf6,227 + mov %r8, %rdx + .byte 0xc4,98,235,0xf6,216 + mov %r10, 24(%rdi) + .byte 0xf3,76,0x0f,0x38,0xf6,103,32 + .byte 0xf3,76,0x0f,0x38,0xf6,201 + mov %r12, 32(%rdi) + adc %rcx, %r9 + bt $0, %r13d + adc %r9, 40(%rdi) + setc %r13b + lea 8(%rdi), %rdi + dec %rsi + jnz Lo5 + jmp Lesma + + + +L6: push %rbx + push %r12 + push %r13 + push %r14 + + mov %rdx, %r14 + xor %r13, %r13 + sub %rcx, %rsi + mov (%rdi), %rax + mov 8(%rdi), %rbx + mov %rax, %rdx + imul %r8, %rdx +Lo6: xor %ecx, %ecx + .byte 0xc4,66,171,0xf6,30 + .byte 0xf3,76,0x0f,0x38,0xf6,208 + .byte 0xc4,66,251,0xf6,78,8 + .byte 0x66,73,0x0f,0x38,0xf6,195 + .byte 0xf3,72,0x0f,0x38,0xf6,195 + .byte 0xc4,66,227,0xf6,94,16 + .byte 0x66,73,0x0f,0x38,0xf6,217 + .byte 0xc4,66,155,0xf6,78,24 + .byte 0xf3,72,0x0f,0x38,0xf6,95,16 + .byte 0x66,77,0x0f,0x38,0xf6,227 + .byte 0xf3,76,0x0f,0x38,0xf6,103,24 + .byte 0xc4,66,171,0xf6,94,32 + mov %r12, 24(%rdi) + .byte 0x66,77,0x0f,0x38,0xf6,209 + .byte 0xc4,66,155,0xf6,78,40 + .byte 0xf3,76,0x0f,0x38,0xf6,87,32 + .byte 0x66,77,0x0f,0x38,0xf6,227 + mov %r8, %rdx + .byte 0xc4,98,235,0xf6,216 + mov %r10, 32(%rdi) + .byte 0xf3,76,0x0f,0x38,0xf6,103,40 + .byte 0xf3,76,0x0f,0x38,0xf6,201 + mov %r12, 40(%rdi) + adc %rcx, %r9 + bt $0, %r13d + adc %r9, 48(%rdi) + setc %r13b + lea 8(%rdi), %rdi + dec %rsi + jnz Lo6 + jmp Lesma + + + +L7: push %rbx + push %r12 + push %r13 + push %r14 + + mov %rdx, %r14 + xor %r13, %r13 + sub %rcx, %rsi + mov (%rdi), %rax + mov 8(%rdi), %rbx + mov %rax, %rdx + imul %r8, %rdx +Lo7: xor %ecx, %ecx + .byte 0xc4,66,155,0xf6,14 + .byte 0xf3,76,0x0f,0x38,0xf6,224 + .byte 0xc4,66,251,0xf6,94,8 + .byte 0x66,73,0x0f,0x38,0xf6,193 + .byte 0xf3,72,0x0f,0x38,0xf6,195 + .byte 0xc4,66,227,0xf6,78,16 + .byte 0x66,73,0x0f,0x38,0xf6,219 + .byte 0xc4,66,171,0xf6,94,24 + .byte 0x66,77,0x0f,0x38,0xf6,209 + .byte 0xf3,72,0x0f,0x38,0xf6,95,16 + .byte 0xc4,66,155,0xf6,78,32 + .byte 0xf3,76,0x0f,0x38,0xf6,87,24 + .byte 0x66,77,0x0f,0x38,0xf6,227 + mov %r10, 24(%rdi) + .byte 0xf3,76,0x0f,0x38,0xf6,103,32 + .byte 0xc4,66,171,0xf6,94,40 + mov %r12, 32(%rdi) + .byte 0x66,77,0x0f,0x38,0xf6,209 + .byte 0xc4,66,155,0xf6,78,48 + .byte 0xf3,76,0x0f,0x38,0xf6,87,40 + .byte 0x66,77,0x0f,0x38,0xf6,227 + mov %r10, 40(%rdi) + mov %rax, %rdx + .byte 0xc4,66,235,0xf6,208 + .byte 0xf3,76,0x0f,0x38,0xf6,103,48 + .byte 0xf3,76,0x0f,0x38,0xf6,201 + mov %r12, 48(%rdi) + adc %rcx, %r9 + bt $0, %r13d + adc %r9, 56(%rdi) + setc %r13b + lea 8(%rdi), %rdi + dec %rsi + jnz Lo7 + jmp Lesma + + + +L8: push %rbx + push %r12 + push %r13 + push %r14 + + mov %rdx, %r14 + xor %r13, %r13 + sub %rcx, %rsi + mov (%rdi), %rax + mov 8(%rdi), %rbx + mov %rax, %rdx + imul %r8, %rdx +Lo8: xor %ecx, %ecx + .byte 0xc4,66,171,0xf6,30 + .byte 0xf3,76,0x0f,0x38,0xf6,208 + .byte 0xc4,66,251,0xf6,78,8 + .byte 0x66,73,0x0f,0x38,0xf6,195 + .byte 0xf3,72,0x0f,0x38,0xf6,195 + .byte 0xc4,66,227,0xf6,94,16 + .byte 0x66,73,0x0f,0x38,0xf6,217 + .byte 0xc4,66,155,0xf6,78,24 + .byte 0xf3,72,0x0f,0x38,0xf6,95,16 + .byte 0x66,77,0x0f,0x38,0xf6,227 + .byte 0xc4,66,171,0xf6,94,32 + .byte 0x66,77,0x0f,0x38,0xf6,209 + .byte 0xf3,76,0x0f,0x38,0xf6,103,24 + mov %r12, 24(%rdi) + .byte 0xc4,66,155,0xf6,78,40 + .byte 0xf3,76,0x0f,0x38,0xf6,87,32 + .byte 0x66,77,0x0f,0x38,0xf6,227 + mov %r10, 32(%rdi) + .byte 0xf3,76,0x0f,0x38,0xf6,103,40 + .byte 0xc4,66,171,0xf6,94,48 + mov %r12, 40(%rdi) + .byte 0x66,77,0x0f,0x38,0xf6,209 + .byte 0xc4,66,155,0xf6,78,56 + .byte 0xf3,76,0x0f,0x38,0xf6,87,48 + .byte 0x66,77,0x0f,0x38,0xf6,227 + mov %r8, %rdx + .byte 0xc4,98,235,0xf6,216 + mov %r10, 48(%rdi) + .byte 0xf3,76,0x0f,0x38,0xf6,103,56 + .byte 0xf3,76,0x0f,0x38,0xf6,201 + mov %r12, 56(%rdi) + adc %rcx, %r9 + bt $0, %r13d + adc %r9, 64(%rdi) + setc %r13b + lea 8(%rdi), %rdi + dec %rsi + jnz Lo8 + jmp Lesma + + +Lesma:mov %rax, (%rdi) + mov %rbx, 8(%rdi) + mov %r13, %rax + pop %r14 + pop %r13 + pop %r12 + pop %rbx + + ret + + + .text + .align 3, 0x90 +Latab:.set Lf0_tmp, Lf0-Latab + .long Lf0_tmp + + .set Lf1_tmp, Lf1-Latab + .long Lf1_tmp + + .set Lf2_tmp, Lf2-Latab + .long Lf2_tmp + + .set Lf3_tmp, Lf3-Latab + .long Lf3_tmp + + .set Lf4_tmp, Lf4-Latab + .long Lf4_tmp + + .set Lf5_tmp, Lf5-Latab + .long Lf5_tmp + + .set Lf6_tmp, Lf6-Latab + .long Lf6_tmp + + .set Lf7_tmp, Lf7-Latab + .long Lf7_tmp + + .set L1_tmp, L1-Latab + .long L1_tmp + + .set L2_tmp, L2-Latab + .long L2_tmp + + .set L3_tmp, L3-Latab + .long L3_tmp + + .set L4_tmp, L4-Latab + .long L4_tmp + + .set L5_tmp, L5-Latab + .long L5_tmp + + .set L6_tmp, L6-Latab + .long L6_tmp + + .set L7_tmp, L7-Latab + .long L7_tmp + + .set L8_tmp, L8-Latab + .long L8_tmp + + .text + diff --git a/ext/gmp/gen/x86_64-macos/sieve_table.h b/ext/gmp/gen/x86_64-macos/sieve_table.h new file mode 100644 index 0000000000..ee9ac14360 --- /dev/null +++ b/ext/gmp/gen/x86_64-macos/sieve_table.h @@ -0,0 +1,46 @@ +/* This file generated by gen-sieve.c - DO NOT EDIT. */ + +#if GMP_LIMB_BITS != 64 +Error, error, this data is for 64 bits +#endif + +#define PRIMESIEVE_INIT_TABLE \ + CNST_LIMB (0x3294C9E069128480), /* 5 - 196 (42 primes) */ \ + CNST_LIMB (0x95A35E1EC4AB21DC), /* 197 - 388 (32 primes) */ \ + CNST_LIMB (0x4AD7CE99B8693366), /* 389 - 580 (30 primes) */ \ + CNST_LIMB (0x6595B6DA728DC52B), /* 581 - 772 (30 primes) */ \ + CNST_LIMB (0xEA6D9F8787B0CEDE), /* 773 - 964 (26 primes) */ \ + CNST_LIMB (0x3F56A1F4CD3275A9), /* 965 - 1156 (29 primes) */ \ + CNST_LIMB (0xFD3848FB74A76ADB), /* 1157 - 1348 (26 primes) */ \ + CNST_LIMB (0xDBBA0DD1A1EDF6AF), /* 1349 - 1540 (25 primes) */ \ + CNST_LIMB (0xCEC7F17ED22799A5), /* 1541 - 1732 (27 primes) */ \ + CNST_LIMB (0xEAEC17BDBB717D56), /* 1733 - 1924 (24 primes) */ \ + CNST_LIMB (0x3B0EB7B3585AFCF3), /* 1925 - 2116 (26 primes) */ \ + CNST_LIMB (0xE563D8F69FDF6C4F), /* 2117 - 2308 (23 primes) */ \ + CNST_LIMB (0xFE5BA7ABA45E92FC), /* 2309 - 2500 (25 primes) */ \ + CNST_LIMB (0x158DEE6F3BF49B7D), /* 2501 - 2692 (24 primes) */ \ + CNST_LIMB (0xBE5A7BC4EDE6CD1A), /* 2693 - 2884 (26 primes) */ \ + CNST_LIMB (0xD7679B3FCA7BB6AD), /* 2885 - 3076 (22 primes) */ \ + CNST_LIMB (0xC3F66B971FEF37E9), /* 3077 - 3268 (22 primes) */ \ + CNST_LIMB (0x6F7EBCF339C953FD), /* 3269 - 3460 (22 primes) */ \ + CNST_LIMB (0xD5A5ECDCD235DBF0), /* 3461 - 3652 (27 primes) */ \ + CNST_LIMB (0xECFA7B2FD5B65E3B), /* 3653 - 3844 (22 primes) */ \ + CNST_LIMB (0xD28EFDF9C89F67B1), /* 3845 - 4036 (25 primes) */ \ + CNST_LIMB (0xCB7F7C7A3DD3AF4F), /* 4037 - 4228 (21 primes) */ \ + CNST_LIMB (0xEEBED6CDFF6B32CC), /* 4229 - 4420 (22 primes) */ \ + CNST_LIMB (0xD5BD73F85ECFA97C), /* 4421 - 4612 (23 primes) */ \ + CNST_LIMB (0x21FDBE4FBBAD48F7), /* 4613 - 4804 (24 primes) */ \ + CNST_LIMB (0x5E35A3B5EEB7FDE7), /* 4805 - 4996 (21 primes) */ \ + CNST_LIMB (0xD9EBFD53A7DBBCC9), /* 4997 - 5188 (22 primes) */ \ + CNST_LIMB (0xFF9EDEAF2EFE1F76), /* 5189 - 5380 (18 primes) */ +#define PRIMESIEVE_NUMBEROF_TABLE 28 +/* #define PRIMESIEVE_PRIMES_IN_TABLE 706 */ +#define PRIMESIEVE_HIGHEST_PRIME 5351 +/* #define PRIMESIEVE_FIRST_UNCHECKED 5381 */ + +#define SIEVE_MASK1 CNST_LIMB(0x3204C1A049120485) +#define SIEVE_MASKT CNST_LIMB(0xA1204892058) +#define SIEVE_2MSK1 CNST_LIMB(0x29048402110840A) +#define SIEVE_2MSK2 CNST_LIMB(0x9402180C40230184) +#define SIEVE_2MSKT CNST_LIMB(0x5021088402120) + From 1d0905ba3d686266966df355708aeec400e30942 Mon Sep 17 00:00:00 2001 From: pkova Date: Thu, 17 Oct 2024 17:12:25 +0300 Subject: [PATCH 4/6] build: remember to copy sieve_table.h in gmp build readme --- ext/gmp/gen/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ext/gmp/gen/README.md b/ext/gmp/gen/README.md index 6228292b1b..52bdd96af7 100644 --- a/ext/gmp/gen/README.md +++ b/ext/gmp/gen/README.md @@ -37,6 +37,7 @@ Now, under the GMP root dir run `make` and copy these files as well: - `fac_table.h` - `fib_table.h` - `trialdivtab.h` +- `sieve_table.h` - `mpn/fib_table.c` - `mpn/jacobitab.h` - `mpn/mp_bases.c` From dd362b39ebdefb064c4f0cc32e1133fedee336b2 Mon Sep 17 00:00:00 2001 From: pkova Date: Thu, 17 Oct 2024 17:12:49 +0300 Subject: [PATCH 5/6] ci: fix paths to make ci run --- .github/workflows/feature.yml | 11 ++++++----- .github/workflows/master.yml | 13 ++++++------- .github/workflows/next.yml | 12 ++++++------ .github/workflows/release.yml | 12 ++++++------ 4 files changed, 24 insertions(+), 24 deletions(-) diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index 60444b89e3..d78b911e13 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -3,12 +3,13 @@ name: Feature pull request on: pull_request: paths: - - '.bazelrc' - - '.github/workflows/*.yml' - - 'BUILD.bazel' - - 'WORKSPACE.bazel' - - 'bazel/**' + - 'build.zig' + - 'build.zig.zon' + - 'ext/**' + - '!ext/**.md' - 'pkg/**' + - '.github/workflows/**.yml' + - '*.sh' jobs: urbit: diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 368c417b4f..02a2b84c58 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -5,14 +5,13 @@ on: branches: - master paths: - - '*.bazel' - - '.bazelrc' - - '.github/workflows/**.yml' - - 'PACE' - - 'VERSION' - - 'bazel/**' + - 'build.zig' + - 'build.zig.zon' + - 'ext/**' + - '!ext/**.md' - 'pkg/**' - + - '.github/workflows/**.yml' + - '*.sh' jobs: urbit: diff --git a/.github/workflows/next.yml b/.github/workflows/next.yml index 07250449e3..71738ad940 100644 --- a/.github/workflows/next.yml +++ b/.github/workflows/next.yml @@ -5,13 +5,13 @@ on: branches: - 'next/kelvin/*' paths: - - '*.bazel' - - '.bazelrc' - - '.github/workflows/**.yml' - - 'PACE' - - 'VERSION' - - 'bazel/**' + - 'build.zig' + - 'build.zig.zon' + - 'ext/**' + - '!ext/**.md' - 'pkg/**' + - '.github/workflows/**.yml' + - '*.sh' jobs: urbit: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 904884d5c1..ca4a907b07 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -5,13 +5,13 @@ on: branches: - release paths: - - '*.bazel' - - '.bazelrc' - - '.github/workflows/**.yml' - - 'PACE' - - 'VERSION' - - 'bazel/**' + - 'build.zig' + - 'build.zig.zon' + - 'ext/**' + - '!ext/**.md' - 'pkg/**' + - '.github/workflows/**.yml' + - '*.sh' jobs: urbit: From fb807c160d65ae532a38126754682d2780dc1ba1 Mon Sep 17 00:00:00 2001 From: pkova Date: Thu, 17 Oct 2024 17:24:43 +0300 Subject: [PATCH 6/6] build: forgot to commit some gmp files --- ext/gmp/gen/aarch64-macos/mpn/divrem_1.s | 235 ++++++++++++++++++++++ ext/gmp/gen/aarch64-macos/mpn/tmp-add_n.s | 134 ++++++++++++ ext/gmp/gen/aarch64-macos/sieve_table.h | 46 +++++ 3 files changed, 415 insertions(+) create mode 100644 ext/gmp/gen/aarch64-macos/mpn/divrem_1.s create mode 100644 ext/gmp/gen/aarch64-macos/mpn/tmp-add_n.s create mode 100644 ext/gmp/gen/aarch64-macos/sieve_table.h diff --git a/ext/gmp/gen/aarch64-macos/mpn/divrem_1.s b/ext/gmp/gen/aarch64-macos/mpn/divrem_1.s new file mode 100644 index 0000000000..3d4ca8c84f --- /dev/null +++ b/ext/gmp/gen/aarch64-macos/mpn/divrem_1.s @@ -0,0 +1,235 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .text + .align 3 + .globl ___gmpn_preinv_divrem_1 + +___gmpn_preinv_divrem_1: + cbz x3, Lfz + stp x29, x30, [sp, #-80]! + mov x29, sp + stp x19, x20, [sp, #16] + stp x21, x22, [sp, #32] + stp x23, x24, [sp, #48] + + sub x21, x3, #1 + add x7, x21, x1 + add x20, x2, x21, lsl #3 + add x19, x0, x7, lsl #3 + mov x24, x1 + mov x22, x4 + mov x0, x5 + tbnz x4, #63, Lnentry + mov x23, x6 + b Luentry + + + .text + .align 3 + .globl ___gmpn_divrem_1 + +___gmpn_divrem_1: + cbz x3, Lfz + stp x29, x30, [sp, #-80]! + mov x29, sp + stp x19, x20, [sp, #16] + stp x21, x22, [sp, #32] + stp x23, x24, [sp, #48] + + sub x21, x3, #1 + add x7, x21, x1 + add x20, x2, x21, lsl #3 + add x19, x0, x7, lsl #3 + mov x24, x1 + mov x22, x4 + tbnz x4, #63, Lnormalised + +Lunnorm: + clz x23, x22 + lsl x0, x22, x23 + bl ___gmpn_invert_limb +Luentry: + lsl x22, x22, x23 + ldr x7, [x20], #-8 + sub x8, xzr, x23 + lsr x11, x7, x8 + lsl x1, x7, x23 + cbz x21, Luend + +Lutop:ldr x7, [x20], #-8 + add x2, x11, #1 + mul x10, x11, x0 + umulh x17, x11, x0 + lsr x9, x7, x8 + orr x1, x1, x9 + adds x10, x1, x10 + adc x2, x2, x17 + msub x11, x22, x2, x1 + lsl x1, x7, x23 + cmp x10, x11 + add x14, x11, x22 + csel x11, x14, x11, cc + sbc x2, x2, xzr + cmp x11, x22 + bcs Lufx +Luok: str x2, [x19], #-8 + sub x21, x21, #1 + cbnz x21, Lutop + +Luend:add x2, x11, #1 + mul x10, x11, x0 + umulh x17, x11, x0 + adds x10, x1, x10 + adc x2, x2, x17 + msub x11, x22, x2, x1 + cmp x10, x11 + add x14, x11, x22 + csel x11, x14, x11, cc + sbc x2, x2, xzr + subs x14, x11, x22 + adc x2, x2, xzr + csel x11, x14, x11, cs + str x2, [x19], #-8 + + cbnz x24, Lftop + lsr x0, x11, x23 + ldp x19, x20, [sp, #16] + ldp x21, x22, [sp, #32] + ldp x23, x24, [sp, #48] + ldp x29, x30, [sp], #80 + ret + +Lufx: add x2, x2, #1 + sub x11, x11, x22 + b Luok + + +Lnormalised: + mov x0, x22 + bl ___gmpn_invert_limb +Lnentry: + ldr x7, [x20], #-8 + subs x14, x7, x22 + adc x2, xzr, xzr + csel x11, x14, x7, cs + b Lnok + +Lntop:ldr x1, [x20], #-8 + add x2, x11, #1 + mul x10, x11, x0 + umulh x17, x11, x0 + adds x10, x1, x10 + adc x2, x2, x17 + msub x11, x22, x2, x1 + cmp x10, x11 + add x14, x11, x22 + csel x11, x14, x11, cc + sbc x2, x2, xzr + cmp x11, x22 + bcs Lnfx +Lnok: str x2, [x19], #-8 + sub x21, x21, #1 + tbz x21, #63, Lntop + +Lnend:cbnz x24, Lfrac + mov x0, x11 + ldp x19, x20, [sp, #16] + ldp x21, x22, [sp, #32] + ldp x23, x24, [sp, #48] + ldp x29, x30, [sp], #80 + ret + +Lnfx: add x2, x2, #1 + sub x11, x11, x22 + b Lnok + +Lfrac:mov x23, #0 +Lftop:add x2, x11, #1 + mul x10, x11, x0 + umulh x17, x11, x0 + add x2, x2, x17 + msub x11, x22, x2, xzr + cmp x10, x11 + add x14, x11, x22 + csel x11, x14, x11, cc + sbc x2, x2, xzr + str x2, [x19], #-8 + sub x24, x24, #1 + cbnz x24, Lftop + + lsr x0, x11, x23 + ldp x19, x20, [sp, #16] + ldp x21, x22, [sp, #32] + ldp x23, x24, [sp, #48] + ldp x29, x30, [sp], #80 + ret + + +Lfz: cbz x1, Lzend +Lztop:str xzr, [x0], #8 + sub x1, x1, #1 + cbnz x1, Lztop +Lzend:mov x0, #0 + ret + diff --git a/ext/gmp/gen/aarch64-macos/mpn/tmp-add_n.s b/ext/gmp/gen/aarch64-macos/mpn/tmp-add_n.s new file mode 100644 index 0000000000..5f2b539e98 --- /dev/null +++ b/ext/gmp/gen/aarch64-macos/mpn/tmp-add_n.s @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .text + .align 3 + .globl ___gmpn_add_nc + +___gmpn_add_nc: + cmp x4, #1 + b Lent + + .text + .align 3 + .globl ___gmpn_add_n + +___gmpn_add_n: + cmn xzr, xzr +Lent: lsr x17, x3, #2 + tbz x3, #0, Lbx0 + +Lbx1: ldr x7, [x1] + ldr x11, [x2] + adcs x13, x7, x11 + str x13, [x0],#8 + tbnz x3, #1, Lb11 + +Lb01: cbz x17, Lret + ldp x4, x5, [x1,#8] + ldp x8, x9, [x2,#8] + sub x1, x1, #8 + sub x2, x2, #8 + b Lmid + +Lb11: ldp x6, x7, [x1,#8] + ldp x10, x11, [x2,#8] + add x1, x1, #8 + add x2, x2, #8 + cbz x17, Lend + b Ltop + +Lbx0: tbnz x3, #1, Lb10 + +Lb00: ldp x4, x5, [x1] + ldp x8, x9, [x2] + sub x1, x1, #16 + sub x2, x2, #16 + b Lmid + +Lb10: ldp x6, x7, [x1] + ldp x10, x11, [x2] + cbz x17, Lend + + .align 4 +Ltop: ldp x4, x5, [x1,#16] + ldp x8, x9, [x2,#16] + adcs x12, x6, x10 + adcs x13, x7, x11 + stp x12, x13, [x0],#16 +Lmid: ldp x6, x7, [x1,#32]! + ldp x10, x11, [x2,#32]! + adcs x12, x4, x8 + adcs x13, x5, x9 + stp x12, x13, [x0],#16 + sub x17, x17, #1 + cbnz x17, Ltop + +Lend: adcs x12, x6, x10 + adcs x13, x7, x11 + stp x12, x13, [x0] +Lret: cset x0, cs + ret + diff --git a/ext/gmp/gen/aarch64-macos/sieve_table.h b/ext/gmp/gen/aarch64-macos/sieve_table.h new file mode 100644 index 0000000000..ee9ac14360 --- /dev/null +++ b/ext/gmp/gen/aarch64-macos/sieve_table.h @@ -0,0 +1,46 @@ +/* This file generated by gen-sieve.c - DO NOT EDIT. */ + +#if GMP_LIMB_BITS != 64 +Error, error, this data is for 64 bits +#endif + +#define PRIMESIEVE_INIT_TABLE \ + CNST_LIMB (0x3294C9E069128480), /* 5 - 196 (42 primes) */ \ + CNST_LIMB (0x95A35E1EC4AB21DC), /* 197 - 388 (32 primes) */ \ + CNST_LIMB (0x4AD7CE99B8693366), /* 389 - 580 (30 primes) */ \ + CNST_LIMB (0x6595B6DA728DC52B), /* 581 - 772 (30 primes) */ \ + CNST_LIMB (0xEA6D9F8787B0CEDE), /* 773 - 964 (26 primes) */ \ + CNST_LIMB (0x3F56A1F4CD3275A9), /* 965 - 1156 (29 primes) */ \ + CNST_LIMB (0xFD3848FB74A76ADB), /* 1157 - 1348 (26 primes) */ \ + CNST_LIMB (0xDBBA0DD1A1EDF6AF), /* 1349 - 1540 (25 primes) */ \ + CNST_LIMB (0xCEC7F17ED22799A5), /* 1541 - 1732 (27 primes) */ \ + CNST_LIMB (0xEAEC17BDBB717D56), /* 1733 - 1924 (24 primes) */ \ + CNST_LIMB (0x3B0EB7B3585AFCF3), /* 1925 - 2116 (26 primes) */ \ + CNST_LIMB (0xE563D8F69FDF6C4F), /* 2117 - 2308 (23 primes) */ \ + CNST_LIMB (0xFE5BA7ABA45E92FC), /* 2309 - 2500 (25 primes) */ \ + CNST_LIMB (0x158DEE6F3BF49B7D), /* 2501 - 2692 (24 primes) */ \ + CNST_LIMB (0xBE5A7BC4EDE6CD1A), /* 2693 - 2884 (26 primes) */ \ + CNST_LIMB (0xD7679B3FCA7BB6AD), /* 2885 - 3076 (22 primes) */ \ + CNST_LIMB (0xC3F66B971FEF37E9), /* 3077 - 3268 (22 primes) */ \ + CNST_LIMB (0x6F7EBCF339C953FD), /* 3269 - 3460 (22 primes) */ \ + CNST_LIMB (0xD5A5ECDCD235DBF0), /* 3461 - 3652 (27 primes) */ \ + CNST_LIMB (0xECFA7B2FD5B65E3B), /* 3653 - 3844 (22 primes) */ \ + CNST_LIMB (0xD28EFDF9C89F67B1), /* 3845 - 4036 (25 primes) */ \ + CNST_LIMB (0xCB7F7C7A3DD3AF4F), /* 4037 - 4228 (21 primes) */ \ + CNST_LIMB (0xEEBED6CDFF6B32CC), /* 4229 - 4420 (22 primes) */ \ + CNST_LIMB (0xD5BD73F85ECFA97C), /* 4421 - 4612 (23 primes) */ \ + CNST_LIMB (0x21FDBE4FBBAD48F7), /* 4613 - 4804 (24 primes) */ \ + CNST_LIMB (0x5E35A3B5EEB7FDE7), /* 4805 - 4996 (21 primes) */ \ + CNST_LIMB (0xD9EBFD53A7DBBCC9), /* 4997 - 5188 (22 primes) */ \ + CNST_LIMB (0xFF9EDEAF2EFE1F76), /* 5189 - 5380 (18 primes) */ +#define PRIMESIEVE_NUMBEROF_TABLE 28 +/* #define PRIMESIEVE_PRIMES_IN_TABLE 706 */ +#define PRIMESIEVE_HIGHEST_PRIME 5351 +/* #define PRIMESIEVE_FIRST_UNCHECKED 5381 */ + +#define SIEVE_MASK1 CNST_LIMB(0x3204C1A049120485) +#define SIEVE_MASKT CNST_LIMB(0xA1204892058) +#define SIEVE_2MSK1 CNST_LIMB(0x29048402110840A) +#define SIEVE_2MSK2 CNST_LIMB(0x9402180C40230184) +#define SIEVE_2MSKT CNST_LIMB(0x5021088402120) +