Implementation notes: amd64, gcc16, crypto_dh

Computer: gcc16
Architecture: amd64
CPU ID: AuthenticAMD-00100f23-178bfbff
CPU cycles/second: 2194151000...2194151000 (amd64cpuinfo)
SUPERCOP version: 20170904
Benchmark dates: 20170720...20170908

crypto_dh

TimeRelative timePrimitiveImplementationCompiler
63136871.00clauscrypto_dh/claus/gmpg++ -O3 -fomit-frame-pointer (4.4.5)
76655251.21clauscrypto_dh/claus/ntlg++ -fno-schedule-insns -O -fomit-frame-pointer
86924571.38clauscrypto_dh/claus/cryptoppg++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv
153474692.43clauscrypto_dh/claus/opensslgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv
38032801.00curve2251crypto_dh/curve2251/mpfqgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer (4.4.5)
curve2251crypto_dh/curve2251/relic/amd64-avxgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
curve2251crypto_dh/curve2251/relic/amd64-clmulgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
curve2251crypto_dh/curve2251/relic/amd64-ssse3gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
8785901.00curve25519crypto_dh/curve25519/refgcc -m64 -march=core2 -O3 -fomit-frame-pointer (4.4.5)
11836511.35curve25519crypto_dh/curve25519/mpfqgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer
6771321.00ecfp256ecrypto_dh/ecfp256e/v01/w8s8gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer (4.4.5)
6832791.01ecfp256ecrypto_dh/ecfp256e/v01/w8s4gcc -march=k8 -O2 -fomit-frame-pointer
6947931.03ecfp256ecrypto_dh/ecfp256e/v01/w8s2gcc -O2 -fomit-frame-pointer
7215031.07ecfp256ecrypto_dh/ecfp256e/v01/w8s1gcc -march=k8 -O2 -fomit-frame-pointer
10554381.56ecfp256ecrypto_dh/ecfp256e/v01/vargcc -march=k8 -O2 -fomit-frame-pointer
8296481.00ecfp256hcrypto_dh/ecfp256h/v01/w8s8gcc -m64 -march=k8 -O2 -fomit-frame-pointer (4.4.5)
8366491.01ecfp256hcrypto_dh/ecfp256h/v01/w8s4gcc -march=k8 -O2 -fomit-frame-pointer
8512711.03ecfp256hcrypto_dh/ecfp256h/v01/w8s2gcc -march=k8 -O2 -fomit-frame-pointer
8810651.06ecfp256hcrypto_dh/ecfp256h/v01/w8s1gcc -m64 -O2 -fomit-frame-pointer
13543941.63ecfp256hcrypto_dh/ecfp256h/v01/vargcc -m64 -march=barcelona -O2 -fomit-frame-pointer
11170171.00ecfp256icrypto_dh/ecfp256i/v01/vargcc -O2 -fomit-frame-pointer (4.4.5)
ecfp256icrypto_dh/ecfp256i/v01/w8s1gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
ecfp256icrypto_dh/ecfp256i/v01/w8s2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
ecfp256icrypto_dh/ecfp256i/v01/w8s4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
ecfp256icrypto_dh/ecfp256i/v01/w8s8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
7036261.00ecfp256qcrypto_dh/ecfp256q/v01/w8s8gcc -m64 -march=k8 -O2 -fomit-frame-pointer (4.4.5)
7096541.01ecfp256qcrypto_dh/ecfp256q/v01/w8s4gcc -fno-schedule-insns -O2 -fomit-frame-pointer
7212761.03ecfp256qcrypto_dh/ecfp256q/v01/w8s2gcc -march=k8 -O2 -fomit-frame-pointer
7456541.06ecfp256qcrypto_dh/ecfp256q/v01/w8s1gcc -march=k8 -O2 -fomit-frame-pointer
10884541.55ecfp256qcrypto_dh/ecfp256q/v01/vargcc -m64 -O2 -fomit-frame-pointer
8126721.00ecfp256scrypto_dh/ecfp256s/v01/w8s8gcc -m64 -march=k8 -O3 -fomit-frame-pointer (4.4.5)
8196041.01ecfp256scrypto_dh/ecfp256s/v01/w8s4gcc -m64 -march=core2 -O3 -fomit-frame-pointer
8307861.02ecfp256scrypto_dh/ecfp256s/v01/w8s2gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer
8576361.06ecfp256scrypto_dh/ecfp256s/v01/w8s1gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer
13189771.62ecfp256scrypto_dh/ecfp256s/v01/vargcc -m64 -march=core2 -O2 -fomit-frame-pointer
28160691.00ed448goldilockscrypto_dh/ed448goldilocks/amd64 (2014-10-12)gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer (4.4.5)
30915321.10ed448goldilockscrypto_dh/ed448goldilocks/64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer
87884953.12ed448goldilockscrypto_dh/ed448goldilocks/32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
ed448goldilockscrypto_dh/ed448goldilocks/arm32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
ed521gscrypto_dh/ed521gs/refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
7641591.00gls1271crypto_dh/gls1271/ref4gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer (4.4.5)
gls254crypto_dh/gls254/optgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
gls254crypto_dh/gls254/protgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
gls254crypto_dh/gls254/refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
gls254protcrypto_dh/gls254prot/optgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
gls254protcrypto_dh/gls254prot/protgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
6373561.00hecfp127icrypto_dh/hecfp127i/v02/w8s32gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer (4.4.5)
6387661.00hecfp127icrypto_dh/hecfp127i/v02/w8s16gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer
6418211.01hecfp127icrypto_dh/hecfp127i/v02/w8s08gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer
6486941.02hecfp127icrypto_dh/hecfp127i/v02/w8s04gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer
6625081.04hecfp127icrypto_dh/hecfp127i/v02/w8s02gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer
6914911.08hecfp127icrypto_dh/hecfp127i/v02/w8s01gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer
11302811.77hecfp127icrypto_dh/hecfp127i/v02/vargcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer
5426671.00hecfp128bkcrypto_dh/hecfp128bk/v02/w8s16glv4gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer (4.4.5)
5426731.00hecfp128bkcrypto_dh/hecfp128bk/v02/w8s32glv4gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
5486051.01hecfp128bkcrypto_dh/hecfp128bk/v02/w8s08glv4gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer
5584631.03hecfp128bkcrypto_dh/hecfp128bk/v02/w8s04glv4gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer
5802071.07hecfp128bkcrypto_dh/hecfp128bk/v02/w8s02glv4gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer
6231851.15hecfp128bkcrypto_dh/hecfp128bk/v02/w8s01glv4gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer
8496041.57hecfp128bkcrypto_dh/hecfp128bk/v02/varglv4gcc -O2 -fomit-frame-pointer
5405071.00hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s32glv4gcc -m64 -march=barcelona -O2 -fomit-frame-pointer (4.4.5)
5405171.00hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s16glv4gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer
5460571.01hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s08glv4gcc -O2 -fomit-frame-pointer
5568091.03hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s04glv4gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer
5776571.07hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s02glv4gcc -funroll-loops -O2 -fomit-frame-pointer
6210141.15hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s01glv4gcc -funroll-loops -O3 -fomit-frame-pointer
8456691.56hecfp128fktcrypto_dh/hecfp128fkt/v02/varglv4gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer
10265131.00hecfp128icrypto_dh/hecfp128i/v02/w8s32gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer (4.4.5)
10282151.00hecfp128icrypto_dh/hecfp128i/v02/w8s16gcc -m64 -march=k8 -O2 -fomit-frame-pointer
10329201.01hecfp128icrypto_dh/hecfp128i/v02/w8s08gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer
10442561.02hecfp128icrypto_dh/hecfp128i/v02/w8s04gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer (4.4.5)
10662361.04hecfp128icrypto_dh/hecfp128i/v02/w8s02gcc -funroll-loops -m64 -O2 -fomit-frame-pointer
11118191.08hecfp128icrypto_dh/hecfp128i/v02/w8s01gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer
18192951.77hecfp128icrypto_dh/hecfp128i/v02/vargcc -funroll-loops -m64 -O3 -fomit-frame-pointer
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/varglv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s01glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s02glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s04glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s08glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s16glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s32glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2icrypto_dh/hecfp61e2i/v01/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s02gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s04gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s08gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s16gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/varglv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s01glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s02glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s04glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s08glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s16glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s32glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2icrypto_dh/hecfp64e2i/v01/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s02gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s04gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s08gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s16gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
31443551.00hectorcrypto_dh/hector/refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer (4.4.5)
4905671.00jacfp127icrypto_dh/jacfp127i/v01/w8s32gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer (4.4.5)
4911551.00jacfp127icrypto_dh/jacfp127i/v01/w8s16gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer
4933801.01jacfp127icrypto_dh/jacfp127i/v01/w8s08gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer
4985061.02jacfp127icrypto_dh/jacfp127i/v01/w8s04gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer
5093181.04jacfp127icrypto_dh/jacfp127i/v01/w8s02gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer (4.4.5)
5316181.08jacfp127icrypto_dh/jacfp127i/v01/w8s01gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer
5318861.08jacfp127icrypto_dh/jacfp127i/v01/w4s32gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer (4.4.5)
5335211.09jacfp127icrypto_dh/jacfp127i/v01/w4s16gcc -m64 -march=nocona -O3 -fomit-frame-pointer
5400451.10jacfp127icrypto_dh/jacfp127i/v01/w4s08gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer (4.4.5)
5515861.12jacfp127icrypto_dh/jacfp127i/v01/w4s04gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer
5725231.17jacfp127icrypto_dh/jacfp127i/v01/w4s02gcc -march=nocona -O3 -fomit-frame-pointer
6172881.26jacfp127icrypto_dh/jacfp127i/v01/w4s01gcc -m64 -march=nocona -O3 -fomit-frame-pointer
8575061.75jacfp127icrypto_dh/jacfp127i/v01/vargcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer
4307231.00jacfp128bkcrypto_dh/jacfp128bk/v01/w8s32glv4gcc -O3 -fomit-frame-pointer (4.4.5)
4316381.00jacfp128bkcrypto_dh/jacfp128bk/v01/w8s16glv4gcc -m64 -O3 -fomit-frame-pointer
4346691.01jacfp128bkcrypto_dh/jacfp128bk/v01/w8s08glv4gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer
4439111.03jacfp128bkcrypto_dh/jacfp128bk/v01/w8s04glv4gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer
4604141.07jacfp128bkcrypto_dh/jacfp128bk/v01/w8s02glv4gcc -m64 -O3 -fomit-frame-pointer
4922121.14jacfp128bkcrypto_dh/jacfp128bk/v01/w8s01glv4gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer
4990611.16jacfp128bkcrypto_dh/jacfp128bk/v01/w4s32glv4gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer
5035441.17jacfp128bkcrypto_dh/jacfp128bk/v01/w4s16glv4gcc -O3 -fomit-frame-pointer (4.4.5)
5123821.19jacfp128bkcrypto_dh/jacfp128bk/v01/w4s08glv4gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer
5286121.23jacfp128bkcrypto_dh/jacfp128bk/v01/w4s04glv4gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer
5611111.30jacfp128bkcrypto_dh/jacfp128bk/v01/w4s02glv4gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer
6276061.46jacfp128bkcrypto_dh/jacfp128bk/v01/w4s01glv4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
6626861.54jacfp128bkcrypto_dh/jacfp128bk/v01/varglv4gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer
k277moncrypto_dh/k277mon/refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
k277taacrypto_dh/k277taa/refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
k298crypto_dh/k298/refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
5234261.00kumfp127gcrypto_dh/kumfp127g/v02/vargcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer (4.4.5)
9074261.00kumfp128gcrypto_dh/kumfp128g/v02/vargcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer (4.4.5)
kumfp61e2gcrypto_dh/kumfp61e2g/v01/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumfp64e2gcrypto_dh/kumfp64e2g/v01/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
3315551.00kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s32gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer (4.4.5)
3327721.00kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s16gcc -funroll-loops -m64 -O3 -fomit-frame-pointer
3354181.01kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s08gcc -funroll-loops -O3 -fomit-frame-pointer
3408181.03kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s04gcc -funroll-loops -m64 -O2 -fomit-frame-pointer
3517991.06kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s02gcc -funroll-loops -m64 -O2 -fomit-frame-pointer
3737301.13kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s32gcc -funroll-loops -m64 -O2 -fomit-frame-pointer
3744581.13kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s01gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer
3765551.14kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s16gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer
3829461.15kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s08gcc -funroll-loops -m64 -O2 -fomit-frame-pointer
3938371.19kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s04gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer
4161571.26kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s02gcc -m64 -march=core2 -O3 -fomit-frame-pointer
4611281.39kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s01gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer
7040252.12kumjacfp127gcrypto_dh/kumjacfp127g/v01/vargcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer
16943131.00kummercrypto_dh/kummer/refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer (4.4.5)
nist521gscrypto_dh/nist521gs/refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
36742651.00nistp256crypto_dh/nistp256/wbl (0.0.1)gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer (4.4.5)
66806251.82nistp256crypto_dh/nistp256/refgcc
6224301.00prjfp127icrypto_dh/prjfp127i/v01/w8s32gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer (4.4.5)
6227931.00prjfp127icrypto_dh/prjfp127i/v01/w8s16gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer (4.4.5)
6259241.01prjfp127icrypto_dh/prjfp127i/v01/w8s08gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer
6322291.02prjfp127icrypto_dh/prjfp127i/v01/w8s04gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer (4.4.5)
6463801.04prjfp127icrypto_dh/prjfp127i/v01/w8s02gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer
6732331.08prjfp127icrypto_dh/prjfp127i/v01/w4s32gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer
6744381.08prjfp127icrypto_dh/prjfp127i/v01/w8s01gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer (4.4.5)
6769731.09prjfp127icrypto_dh/prjfp127i/v01/w4s16gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer (4.4.5)
6840301.10prjfp127icrypto_dh/prjfp127i/v01/w4s08gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer
6982931.12prjfp127icrypto_dh/prjfp127i/v01/w4s04gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer (4.4.5)
7267071.17prjfp127icrypto_dh/prjfp127i/v01/w4s02gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer
7821671.26prjfp127icrypto_dh/prjfp127i/v01/w4s01gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer
11020551.77prjfp127icrypto_dh/prjfp127i/v01/vargcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer
5257111.00prjfp128bkcrypto_dh/prjfp128bk/v01/w8s32glv4gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer (4.4.5)
5277611.00prjfp128bkcrypto_dh/prjfp128bk/v01/w8s16glv4gcc -m64 -march=core2 -O3 -fomit-frame-pointer
5322201.01prjfp128bkcrypto_dh/prjfp128bk/v01/w8s08glv4gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer
5433441.03prjfp128bkcrypto_dh/prjfp128bk/v01/w8s04glv4gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer (4.4.5)
5650191.07prjfp128bkcrypto_dh/prjfp128bk/v01/w8s02glv4gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer
6075171.16prjfp128bkcrypto_dh/prjfp128bk/v01/w4s32glv4gcc -m64 -march=core2 -O2 -fomit-frame-pointer
6076721.16prjfp128bkcrypto_dh/prjfp128bk/v01/w8s01glv4gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer
6141111.17prjfp128bkcrypto_dh/prjfp128bk/v01/w4s16glv4gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer
6248591.19prjfp128bkcrypto_dh/prjfp128bk/v01/w4s08glv4gcc -march=barcelona -O3 -fomit-frame-pointer
6467831.23prjfp128bkcrypto_dh/prjfp128bk/v01/w4s04glv4gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer
6896121.31prjfp128bkcrypto_dh/prjfp128bk/v01/w4s02glv4gcc -m64 -march=barcelona -O3 -fomit-frame-pointer
7757261.48prjfp128bkcrypto_dh/prjfp128bk/v01/w4s01glv4gcc -m64 -O3 -fomit-frame-pointer
8206891.56prjfp128bkcrypto_dh/prjfp128bk/v01/varglv4gcc -m64 -O2 -fomit-frame-pointer
10789301.00sclaus1024crypto_dh/sclaus1024/gmpg++ -m64 -O3 -fomit-frame-pointer (4.4.5)
15614821.45sclaus1024crypto_dh/sclaus1024/cryptoppg++ -march=k8 -O3 -fomit-frame-pointer
51530651.00sclaus2048crypto_dh/sclaus2048/gmpg++ -O3 -fomit-frame-pointer (4.4.5)
73806321.43sclaus2048crypto_dh/sclaus2048/cryptoppg++ -m64 -march=nocona -O3 -fomit-frame-pointer
11928581.00surf127epscrypto_dh/surf127eps/mpfqgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer (4.4.5)
30276881.00surf2113crypto_dh/surf2113/mpfqgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer (4.4.5)

crypto_scalarmult

TimeRelative timePrimitiveImplementationCompiler
8785251.00curve25519crypto_scalarmult/curve25519/amd64-64gcc -m64 -O3 -fomit-frame-pointer (4.4.5)
11336141.29curve25519crypto_scalarmult/curve25519/donna_c64gcc -fno-schedule-insns -O3 -fomit-frame-pointer
12690251.44curve25519crypto_scalarmult/curve25519/amd64-51gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer
16822331.91curve25519crypto_scalarmult/curve25519/donnagcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer
27006263.07curve25519crypto_scalarmult/curve25519/ref10gcc -m64 -O3 -fomit-frame-pointer (4.4.5)
4783397354.45curve25519crypto_scalarmult/curve25519/refgcc -funroll-loops -O2 -fomit-frame-pointer
curve25519crypto_scalarmult/curve25519/sandy2xgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
16942091.00kummercrypto_scalarmult/kummer/ref5gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer (4.4.5)
17963381.06kummercrypto_scalarmult/kummer/ref5ugcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer (4.4.5)
kummercrypto_scalarmult/kummer/avxgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kummercrypto_scalarmult/kummer/avx2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kummercrypto_scalarmult/kummer/avx2intgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
66812571.00nistp256crypto_scalarmult/nistp256/mj32gcc -funroll-loops -m64 -O2 -fomit-frame-pointer (4.4.5)