diff options
-rw-r--r-- | .SRCINFO | 6 | ||||
-rw-r--r-- | PKGBUILD | 20 | ||||
-rw-r--r-- | avx_ecm_main.patch | 20 |
3 files changed, 37 insertions, 9 deletions
@@ -1,7 +1,7 @@ pkgbase = yafu-git pkgdesc = Automated integer factorization. - pkgver = r468.ca48c65 - pkgrel = 1 + pkgver = r615.93a23e5 + pkgrel = 2 url = https://github.com/bbuhrow/yafu arch = x86_64 license = MIT @@ -17,9 +17,11 @@ pkgbase = yafu-git source = git+https://github.com/bbuhrow/ytools.git source = git+https://github.com/bbuhrow/ysieve.git source = msieve::svn+svn://svn.code.sf.net/p/msieve/code/trunk + source = avx_ecm_main.patch sha256sums = SKIP sha256sums = SKIP sha256sums = SKIP sha256sums = SKIP + sha256sums = 2fa4529955996166f4d258e2cb1a93685a4a8485129314d44fa3e140ae97e595 pkgname = yafu-git @@ -2,8 +2,8 @@ _pkgbase=yafu pkgname=yafu-git -pkgrel=1 -pkgver=r468.ca48c65 +pkgrel=2 +pkgver=r615.93a23e5 pkgdesc="Automated integer factorization." url=https://github.com/bbuhrow/yafu license=("MIT") @@ -19,13 +19,19 @@ source=( "git+https://github.com/bbuhrow/ytools.git" "git+https://github.com/bbuhrow/ysieve.git" msieve::"svn+svn://svn.code.sf.net/p/msieve/code/trunk" + "avx_ecm_main.patch" ) -sha256sums=('SKIP' 'SKIP' 'SKIP' 'SKIP') +sha256sums=('SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + '2fa4529955996166f4d258e2cb1a93685a4a8485129314d44fa3e140ae97e595') prepare() { cd ${srcdir}/yafu sed -i "s%^LIBS += -lecm /users/buhrow/src%#LIBS += -lecm /users/buhrow/src%" Makefile sed -i "s/^\#LIBS += -lecm -lgmp -lytools -lysieve/LIBS += -lecm -lgmp -lytools -lysieve/" Makefile + patch --forward --strip=1 --input=../avx_ecm_main.patch } pkgver() { @@ -38,19 +44,19 @@ pkgver() { build() { cd ${srcdir}/ytools - make CC=gcc + make CC=gcc CFLAGS="$CFLAGS -Wno-error=implicit-function-declaration" cp libytools.a ${srcdir}/ysieve/ cd ${srcdir}/ysieve - make CC=gcc + make CC=gcc CFLAGS="$CFLAGS -g -O3 -fomit-frame-pointer -Wall -I. -I../ytools -Wno-error=incompatible-pointer-types" cp libytools.a ${srcdir}/yafu/ cp libysieve.a ${srcdir}/yafu/ - + cd ${srcdir}/msieve make all NO_ZLIB=1 cd ${srcdir}/yafu - make yafu CC=gcc NFS=1 + make yafu CC=gcc NFS=1 CFLAGS="$CFLAGS -g -m64 -std=gnu99 -DUSE_SSE2 -fno-common -DUSE_NFS -O2 -fomit-frame-pointer -Wall -I. -Iinclude -Itop/aprcl -Itop/cmdParser -Itop/ -Ifactor/gmp-ecm -I../ysieve -I../ytools -I../msieve/zlib -Wno-error=implicit-function-declaration -Wno-error=incompatible-pointer-types -Wno-error=return-mismatch" } package() { diff --git a/avx_ecm_main.patch b/avx_ecm_main.patch new file mode 100644 index 000000000000..418f281b4c72 --- /dev/null +++ b/avx_ecm_main.patch @@ -0,0 +1,20 @@ +diff --git a/factor/avx-ecm/avx_ecm_main.c b/factor/avx-ecm/avx_ecm_main.c +index 660da8a..a7bcc6f 100644 +--- a/factor/avx-ecm/avx_ecm_main.c ++++ b/factor/avx-ecm/avx_ecm_main.c +@@ -643,6 +643,7 @@ void vec_ecm_main(fact_obj_t* fobj, uint32_t numcurves, uint64_t B1, + printf("Using 1040-bit mul/sqr core\n");
+ }
+ }
++#ifdef USE_AVX512F
+ else if (tdata[0].MAXBITS > 16400)
+ {
+ // faster starting around 16000 bits on Xeon 6254
+@@ -654,6 +655,7 @@ void vec_ecm_main(fact_obj_t* fobj, uint32_t numcurves, uint64_t B1, + printf("Using karatsuba mul/sqr core\n");
+ }
+ }
++#endif
+ else
+ {
+ vecmulmod_ptr = &vecmulmod52;
|