summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD20
-rw-r--r--avx_ecm_main.patch20
3 files changed, 37 insertions, 9 deletions
diff --git a/.SRCINFO b/.SRCINFO
index a80fc9c06628..0d3c19529ce5 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index b304b880ac31..c3e037648a4b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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;