mersenneforum.org  

Go Back   mersenneforum.org > Factoring Projects > Factoring

Reply
 
Thread Tools
Old 2016-10-04, 11:27   #1
Dubslow
Basketry That Evening!
 
Dubslow's Avatar
 
"Bunslow the Bold"
Jun 2011
40<A<43 -89<O<-88

3×29×83 Posts
Default In ggnfs lasieve4 experimental, what's the difference between the athlon64 and x64 folders?

Title. They don't seem identical, but I'm not exactly sure what the difference might be. Maybe some older Intel x64 variant before they switched to the AMD version...?
Code:
bill@Gravemind ~/ggnfs/src/experimental/lasieve4_64 $ ls athlon64
32bit.h       gmp-aux.h     lasched3.asm           ls-defs.asm    MMX-TD1.o       modinv1000b.asm  mpqs_gauss.asm      mpz-td.o        pt64.o          siever-config.c  tdsieve-from-sched.asm  zeit.c
asm-zeit.asm  if.c          lasched.c              Makefile       MMX-TD2.asm     modinv1000b.o    mpqs_nextpol.asm    mpz-trialdiv.c  ri-aux.asm      siever-config.h  tdsieve-from-sched.o    zeit.h
asm-zeit.o    if.h          lasched.h              medsched0.asm  MMX-TD2.o       modinv1000.o     mpqs_sieve.asm      mpz-trialdiv.o  ri-aux.o        slinie1A.asm     tdslinie1.asm           zeit.o
gcd32.c       invtab.c      lasieve-asmprepn2.asm  medsched.c     MMX-TD.c        modinv32.c       mpqs_sieveinit.asm  psp.c           schedsieve.asm  slinie2A.asm     tdslinie2.asm
gcd32.o       lasched0.asm  lasieve-asmprepn.asm   medsched.h     MMX-TD.o        mpqs-config.h    mpqs_td.asm         psp.o           schedsieve.o    slinie3A.asm     tdslinie3.asm
gmp-aux.c     lasched1.asm  lasieve-asmprepn.o     MMX-TD1.asm    modinv1000.asm  mpqs_eval.asm    mpz-td.asm          pt64.asm        search0.asm     slinieG.asm      tdslinie.asm
bill@Gravemind ~/ggnfs/src/experimental/lasieve4_64 $ ls x64
32bit.h       if.c          lasched3.asm           ls-defs.asm    medsched.h      modinv1000b.asm  mpqs_nextpol.asm    mpz-trialdiv.c  search0.asm      slinie3A.asm            tdslinie3.asm
asm-zeit.asm  if.h          lasched.c              ls-defs.inc    MMX-TD1.asm     modinv32.c       mpqs_sieve.asm      psp.c           siever-config.c  slinieG.asm             tdslinie.asm
gcd32.c       invtab.c      lasched.h              Makefile       MMX-TD2.asm     mpqs-config.h    mpqs_sieveinit.asm  pt64.asm        siever-config.h  tdsieve-from-sched.asm  zeit.c
gmp-aux.c     lasched0.asm  lasieve-asmprepn2.asm  medsched0.asm  MMX-TD.c        mpqs_eval.asm    mpqs_td.asm         ri-aux.asm      slinie1A.asm     tdslinie1.asm           zeit.h
gmp-aux.h     lasched1.asm  lasieve-asmprepn.asm   medsched.c     modinv1000.asm  mpqs_gauss.asm   mpz-td.asm          schedsieve.asm  slinie2A.asm     tdslinie2.asm
Edit: Also, I'm getting compiler (assembler?) errors trying to compile the athlon64 asm per the INTSALL file:

Code:
$ make liblasieve.a
m4  -Dn_i_bits=0 ls-defs.asm mpqs_td.asm > mpqs_td.s
gcc -c mpqs_td.s
mpqs_td.s: Assembler messages:
mpqs_td.s:249: Error: incorrect register `%r9' used with `w' suffix
mpqs_td.s:280: Error: incorrect register `%r9' used with `w' suffix
mpqs_td.s:283: Error: incorrect register `%rsi' used with `w' suffix
mpqs_td.s:313: Error: incorrect register `%r9' used with `w' suffix
Makefile:56: recipe for target 'mpqs_td.o' failed
make: *** [mpqs_td.o] Error 1
rm mpqs_td.s
Is the compiler "indated"?

(Context: Recovering slowly from a hard drive failure, recompiling all the tools from scratch)

Edit edit:
http://www.mersenneforum.org/showthr...686#post409686

Quote:
Originally Posted by Batalov View Post
I am not sure how the above definition was set to 0. It could be the problem.
You can just as well use precompiled binaries for all components -- from Jeff's site.
It's defined as such in the Makefile:
Code:
%.s: %.asm
	m4  -Dn_i_bits=0 ls-defs.asm $^ > $@
Trying to compile one of the specific size binaries has other issues with make expressions not working correctly:

Code:
$ make liblasieveI11.a
gcc -O3 -march=native -mtune=native -I. -DI_bits=11 -c -o laschedI11.o lasched.c
m4 -Dn_i_bits=`expr 11 - 1` ls-defs.asm lasched0.asm > lasched0I11.s
gcc -c lasched0I11.s
m4 -Dn_i_bits=`expr 11 - 1` -Dot=1 ls-defs.asm lasched1.asm > lasched1I11.s
gcc -c lasched1I11.s
m4 -Dn_i_bits=`expr 11 - 1` -Dot=2 ls-defs.asm lasched1.asm > lasched2I11.s
gcc -c lasched2I11.s
m4 -Dn_i_bits=`expr 11 - 1` -Dot=3 ls-defs.asm lasched1.asm > lasched3I11.s
gcc -c lasched3I11.s
m4 -Dn_i_bits=`expr 11 - 1` -Dnt_sched=1 ls-defs.asm lasched0.asm > lasched0ntI11.s
gcc -c lasched0ntI11.s
m4 -Dn_i_bits=`expr 11 - 1` -Dot=1 -Dnt_sched=1 ls-defs.asm lasched1.asm > lasched1ntI11.s
gcc -c lasched1ntI11.s
m4 -Dn_i_bits=`expr 11 - 1` -Dot=2 -Dnt_sched=1 ls-defs.asm lasched1.asm > lasched2ntI11.s
gcc -c lasched2ntI11.s
m4 -Dn_i_bits=`expr 11 - 1` -Dot=3 -Dnt_sched=1 ls-defs.asm lasched1.asm > lasched3ntI11.s
gcc -c lasched3ntI11.s
gcc -O3 -march=native -mtune=native -I. -DI_bits=11 -c -o medschedI11.o medsched.c
m4 -Dn_i_bits=`expr 11 - 1` ls-defs.asm medsched0.asm > medsched0I11.s
gcc -c medsched0I11.s
m4 -Dn_i_bits=`expr 11 - 1` ls-defs.asm search0.asm > search0I11.s
gcc -c search0I11.s
m4 -Dn_i_bits=`expr 11 - 1` ls-defs.asm slinieG.asm > slinieI11.s
gcc -c slinieI11.s
m4 -Dn_i_bits=`expr 11 - 1` ls-defs.asm slinie3A.asm > slinie3I11.s
gcc -c slinie3I11.s
m4 -Dn_i_bits=`expr 11 - 1` ls-defs.asm slinie2A.asm > slinie2I11.s
gcc -c slinie2I11.s
m4 -Dn_i_bits=`expr 11 - 1` ls-defs.asm slinie1A.asm > slinie1I11.s
gcc -c slinie1I11.s
m4 -Dn_i_bits=`expr 11 - 1` ls-defs.asm tdslinie.asm > tdslinieI11.s
gcc -c tdslinieI11.s
tdslinieI11.s: Assembler messages:
tdslinieI11.s:2297: Error: incorrect register `%r10' used with `w' suffix
Makefile:56: recipe for target 'tdslinieI11.o' failed
make: *** [tdslinieI11.o] Error 1
rm slinie3I11.s slinie2I11.o medsched0I11.s lasched1ntI11.s lasched3I11.o tdslinieI11.s slinieI11.o lasched2I11.o lasched0I11.s search0I11.o lasched2ntI11.s lasched3ntI11.o slinie1I11.o slinie2I11.s lasched3I11.s lasched1I11.o slinieI11.s lasched2I11.s medschedI11.o lasched0ntI11.o search0I11.s lasched3ntI11.s medsched0I11.o slinie1I11.s lasched1ntI11.o laschedI11.o lasched1I11.s lasched0I11.o lasched2ntI11.o slinie3I11.o lasched0ntI11.s
I do distinctly remember successfully compiling this myself some years ago, so maybe something has changed in make/gcc/etc since then?

Last fiddled with by Dubslow on 2016-10-04 at 11:49
Dubslow is offline   Reply With Quote
Old 2016-10-10, 15:57   #2
Gimarel
 
Apr 2010

22×37 Posts
Default

Here's a patch for the athlon64 .asm files that works with newer binutils.
Attached Files
File Type: gz athlon64-asm.patch.gz (576 Bytes, 112 views)
Gimarel is offline   Reply With Quote
Old 2016-10-11, 02:11   #3
EdH
 
EdH's Avatar
 
"Ed Hall"
Dec 2009
Adirondack Mtns

22×5×173 Posts
Default

Quote:
Originally Posted by Gimarel View Post
Here's a patch for the athlon64 .asm files that works with newer binutils.
Thank you! That appears to have fixed my more recent OS installs and upgrades.
EdH is offline   Reply With Quote
Old 2016-10-12, 10:58   #4
Dubslow
Basketry That Evening!
 
Dubslow's Avatar
 
"Bunslow the Bold"
Jun 2011
40<A<43 -89<O<-88

3×29×83 Posts
Default

Quote:
Originally Posted by Gimarel View Post
Here's a patch for the athlon64 .asm files that works with newer binutils.


Is it accurate to say that the assembly was previously incorrect, and that newer versions of as have been changed to be less receptive of wrong code by default?
Dubslow is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
new experimental banners for GIMPS ixfd64 Lounge 14 2007-12-17 01:22
Help needed with backing up Outlook email folders and settings lory_kl Lounge 2 2007-01-16 06:58
Help needed to test Athlon64 code geoff Programming 7 2006-08-18 12:16
Athlon64 support? JuanTutors Software 1 2004-06-04 02:46
Opteron/Athlon64 Performance MadMac Software 3 2003-12-08 11:29

All times are UTC. The time now is 13:20.

Wed Dec 2 13:20:12 UTC 2020 up 83 days, 10:31, 2 users, load averages: 4.42, 4.48, 4.40

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.