Improvements for power64/mode64
Mark Rodenkirch
mgrogue at wi.rr.com
Sat Mar 25 21:39:33 CET 2006
I would like to submit the following sources to replace addmul_1.asm
and submul_1.asm for the next release, whether 4.2 or a patch for
4.2. These sources take full advantage of the G5's pipeline. I had
integrated these into GMP 4.1.4 early in 2005 and have used them
extensively with GMP-ECM since then. With them I have found dozens
of new factors.
These are both thoroughly tested with both 4.1.4. With 4.1.99, they
pass all tests with "make check" and all tests with GMP-ECM 6.0.1.
I have also updated sqr_diagonal.asm which also passes "make check",
although I don't think GMP-ECM uses it.
--Mark
Here are the results from GMPbench on a 2.5 GHz G5:
***** GMPbench version 0.1 *****
Using default CFLAGS = "-O3 -m64 -fomit-frame-pointer"
Using default CC = "gcc"
Using default LIBS = "-lgmp"
Using compilation command: gcc -O3 -m64 -fomit-frame-pointer foo.c -o
foo -lgmp
You may want to override CC, CFLAGS, and LIBS
Using gmp version: 4.2
Compiling benchmarks
Running benchmarks
Category base
Program multiply
multiply 128 128
GMPbench.base.multiply.128,128 result: 19163322
multiply 512 512
GMPbench.base.multiply.512,512 result: 3510102
multiply 8192 8192
GMPbench.base.multiply.8192,8192 result: 35148
multiply 131072 131072
GMPbench.base.multiply.131072,131072 result: 529
multiply 2097152 2097152
GMPbench.base.multiply.2097152,2097152 result: 18.9
GMPbench.base.multiply result: 29835
Program divide
divide 8192 32
GMPbench.base.divide.8192,32 result: 459213
divide 8192 64
GMPbench.base.divide.8192,64 result: 463476
divide 8192 128
GMPbench.base.divide.8192,128 result: 314291
divide 8192 4096
GMPbench.base.divide.8192,4096 result: 63003
divide 8192 8064
GMPbench.base.divide.8192,8064 result: 814687
divide 131072 8192
GMPbench.base.divide.131072,8192 result: 1310
divide 131072 65536
GMPbench.base.divide.131072,65536 result: 677
divide 8388608 4194304
GMPbench.base.divide.8388608,4194304 result: 1.88
GMPbench.base.divide result: 16585
GMPbench.base result: 22244
Category app
Program rsa
rsa 512
GMPbench.app.rsa.512 result: 7878
rsa 1024
GMPbench.app.rsa.1024 result: 1524
rsa 2048
GMPbench.app.rsa.2048 result: 242
GMPbench.app.rsa result: 1426.9
GMPbench.app result: 1426.9
GMPbench result: 5633.9
-------------- next part --------------
A non-text attachment was scrubbed...
Name: addmul_1.asm
Type: application/octet-stream
Size: 3744 bytes
Desc: not available
Url : http://gmplib.org/list-archives/gmp-devel/attachments/20060325/d4bb4963/addmul_1.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: submul_1.asm
Type: application/octet-stream
Size: 4008 bytes
Desc: not available
Url : http://gmplib.org/list-archives/gmp-devel/attachments/20060325/d4bb4963/submul_1.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sqr_diagonal.asm
Type: application/octet-stream
Size: 1763 bytes
Desc: not available
Url : http://gmplib.org/list-archives/gmp-devel/attachments/20060325/d4bb4963/sqr_diagonal.obj
More information about the gmp-devel
mailing list