xeon 64 bits
Emmanuel Thomé
Emmanuel.Thome+gmp at loria.fr
Wed Sep 29 19:00:39 CEST 2004
> Could you please rerun GMPbench with the exact same options as was used for
> the GMP build? (Or, alternatively, rebuild libgmp.a with the options you
> used for GMPbench (and in your case, then reinstall the library).
Here you go for gmpbench w/ -O2 -m64 (attached as RES.O2)
NOTE : gmp itself doesn't seem to compile with -O3 (this is still on the
same opteron box) :
beaufort : ...mp-4.1.4/mpz $ gcc -I.. -O3 -c n_pow_ui.c
n_pow_ui.c: In function `__gmpz_n_pow_ui':
n_pow_ui.c:521: error: extended registers have no high halves
The offending line is the asm statement from the expansion of
ULONG_PARITY (from line 484 in n_pow_ui.c) :
asm("xorb %h1, %b1\n" "setpo %0\n": "=qm"(__p), "=q"(__n):"1"(__n));
( %h1 seems like unwanted on x86-64 ; why this very thing _passes_ with
-O2 is bizarre to me. )
With the generic C code itself, the compile goes OK. The corresponding
bench output is in RES.O3
> I specify the "options used" on the results page, and that requires
> consistent options not to be confusing to readers.
Makes sense.
E.
-------------- next part --------------
***** GMPbench version 0.1 *****
Using CFLAGS = "-O2 -m64" from your environment
Using default CC = "gcc"
Using default LIBS = "-static -lgmp"
Using compilation command: gcc -O2 -m64 foo.c -o foo -static -lgmp
You may want to override CC, CFLAGS, and LIBS
Using gmp version: 4.1.4
Compiling benchmarks
Running benchmarks
Category base
Program multiply
multiply 128 128
GMPbench.base.multiply.128,128 result: 22554533
multiply 512 512
GMPbench.base.multiply.512,512 result: 4020922
multiply 8192 8192
GMPbench.base.multiply.8192,8192 result: 30344
multiply 131072 131072
GMPbench.base.multiply.131072,131072 result: 394
multiply 2097152 2097152
GMPbench.base.multiply.2097152,2097152 result: 11.1
GMPbench.base.multiply result: 26067
Program divide
divide 8192 32
GMPbench.base.divide.8192,32 result: 525076
divide 8192 64
GMPbench.base.divide.8192,64 result: 630034
divide 8192 128
GMPbench.base.divide.8192,128 result: 431400
divide 8192 4096
GMPbench.base.divide.8192,4096 result: 56342
divide 8192 8064
GMPbench.base.divide.8192,8064 result: 808278
divide 131072 8192
GMPbench.base.divide.131072,8192 result: 1204
divide 131072 65536
GMPbench.base.divide.131072,65536 result: 572
divide 8388608 4194304
GMPbench.base.divide.8388608,4194304 result: 1.22
GMPbench.base.divide result: 16488
GMPbench.base result: 20731
Category app
Program rsa
rsa 512
GMPbench.app.rsa.512 result: 7986
rsa 1024
GMPbench.app.rsa.1024 result: 1457
rsa 2048
GMPbench.app.rsa.2048 result: 239
GMPbench.app.rsa result: 1406.2
GMPbench.app result: 1406.2
GMPbench result: 5399.4
-------------- next part --------------
***** GMPbench version 0.1 *****
Using default CFLAGS = "-O3 -fomit-frame-pointer"
Using default CC = "gcc"
Using LIBS = "-static /tmp/libgmp.a" from your environment
Using compilation command: gcc -O3 -fomit-frame-pointer foo.c -o foo -static /tmp/libgmp.a
You may want to override CC, CFLAGS, and LIBS
Using gmp version: 4.1.4
Compiling benchmarks
Running benchmarks
Category base
Program multiply
multiply 128 128
GMPbench.base.multiply.128,128 result: 23209290
multiply 512 512
GMPbench.base.multiply.512,512 result: 4032985
multiply 8192 8192
GMPbench.base.multiply.8192,8192 result: 30323
multiply 131072 131072
GMPbench.base.multiply.131072,131072 result: 390
multiply 2097152 2097152
GMPbench.base.multiply.2097152,2097152 result: 10.9
GMPbench.base.multiply result: 26080
Program divide
divide 8192 32
GMPbench.base.divide.8192,32 result: 525866
divide 8192 64
GMPbench.base.divide.8192,64 result: 628077
divide 8192 128
GMPbench.base.divide.8192,128 result: 431330
divide 8192 4096
GMPbench.base.divide.8192,4096 result: 65707
divide 8192 8064
GMPbench.base.divide.8192,8064 result: 810619
divide 131072 8192
GMPbench.base.divide.131072,8192 result: 1308
divide 131072 65536
GMPbench.base.divide.131072,65536 result: 575
divide 8388608 4194304
GMPbench.base.divide.8388608,4194304 result: 1.20
GMPbench.base.divide result: 16961
GMPbench.base result: 21032
Category app
Program rsa
rsa 512
GMPbench.app.rsa.512 result: 7890
rsa 1024
GMPbench.app.rsa.1024 result: 1439
rsa 2048
GMPbench.app.rsa.2048 result: 234
GMPbench.app.rsa result: 1385
GMPbench.app result: 1385
GMPbench result: 5397.2
More information about the gmp-discuss
mailing list