Implementation notes: amd64, latour, crypto_dh

Computer: latour
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
CPU cycles/second: 2400114000...2400114000 (amd64cpuinfo)
SUPERCOP version: 20170105
Benchmark dates: 20161010...20170107

crypto_dh

TimeRelative timePrimitiveImplementationCompiler
101629351.00clauscrypto_dh/claus/gmpg++ -m64 -march=core2 -O3 -fomit-frame-pointer (4.8.4)
111575791.10clauscrypto_dh/claus/cryptoppg++ -march=k8 -Os -fomit-frame-pointer
128502631.26clauscrypto_dh/claus/opensslgcc -m64 -march=k8 -O -fomit-frame-pointer
clauscrypto_dh/claus/ntlg++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
13495321.00curve2251crypto_dh/curve2251/relic/amd64-ssse3gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer (4.8.4)
34821362.58curve2251crypto_dh/curve2251/mpfqclang -O3 -fomit-frame-pointer -Qunused-arguments
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
12578311.00curve25519crypto_dh/curve25519/refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible Ubuntu Clang 3.4 (tags/RELEASE 34/final))
15621301.24curve25519crypto_dh/curve25519/mpfqgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
8779501.00ecfp256ecrypto_dh/ecfp256e/v01/w8s8gcc -march=k8 -O3 -fomit-frame-pointer (4.8.4)
8887141.01ecfp256ecrypto_dh/ecfp256e/v01/w8s4gcc -march=k8 -O3 -fomit-frame-pointer (4.8.4)
9053191.03ecfp256ecrypto_dh/ecfp256e/v01/w8s2gcc -march=k8 -O3 -fomit-frame-pointer (4.8.4)
9443881.08ecfp256ecrypto_dh/ecfp256e/v01/w8s1gcc -m64 -march=k8 -O3 -fomit-frame-pointer
14522581.65ecfp256ecrypto_dh/ecfp256e/v01/vargcc -m64 -march=k8 -O3 -fomit-frame-pointer
10698571.00ecfp256hcrypto_dh/ecfp256h/v01/w8s8gcc -march=k8 -O3 -fomit-frame-pointer (4.8.4)
10799911.01ecfp256hcrypto_dh/ecfp256h/v01/w8s4gcc -m64 -march=k8 -O3 -fomit-frame-pointer
11002141.03ecfp256hcrypto_dh/ecfp256h/v01/w8s2gcc -march=k8 -O3 -fomit-frame-pointer (4.8.4)
11429101.07ecfp256hcrypto_dh/ecfp256h/v01/w8s1gcc -m64 -march=k8 -O3 -fomit-frame-pointer
18129871.69ecfp256hcrypto_dh/ecfp256h/v01/vargcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer
15244381.00ecfp256icrypto_dh/ecfp256i/v01/vargcc -m64 -march=k8 -O3 -fomit-frame-pointer (4.8.4)
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
9302401.00ecfp256qcrypto_dh/ecfp256q/v01/w8s8gcc -m64 -march=k8 -O3 -fomit-frame-pointer (4.8.4)
9421201.01ecfp256qcrypto_dh/ecfp256q/v01/w8s4gcc -m64 -march=k8 -O3 -fomit-frame-pointer (4.8.4)
9590581.03ecfp256qcrypto_dh/ecfp256q/v01/w8s2gcc -march=k8 -O3 -fomit-frame-pointer
9941941.07ecfp256qcrypto_dh/ecfp256q/v01/w8s1gcc -march=k8 -O3 -fomit-frame-pointer
15012541.61ecfp256qcrypto_dh/ecfp256q/v01/vargcc -march=k8 -O3 -fomit-frame-pointer
11003581.00ecfp256scrypto_dh/ecfp256s/v01/w8s8gcc -m64 -march=k8 -O3 -fomit-frame-pointer (4.8.4)
11086381.01ecfp256scrypto_dh/ecfp256s/v01/w8s4gcc -march=k8 -O3 -fomit-frame-pointer
11316061.03ecfp256scrypto_dh/ecfp256s/v01/w8s2gcc -m64 -march=k8 -O3 -fomit-frame-pointer (4.8.4)
11736811.07ecfp256scrypto_dh/ecfp256s/v01/w8s1gcc -march=k8 -O3 -fomit-frame-pointer
18704881.70ecfp256scrypto_dh/ecfp256s/v01/vargcc -m64 -march=k8 -O3 -fomit-frame-pointer (4.8.4)
27203401.00ed448goldilockscrypto_dh/ed448goldilocks/amd64 (2014-10-12)clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible Ubuntu Clang 3.4 (tags/RELEASE 34/final))
32990671.21ed448goldilockscrypto_dh/ed448goldilocks/64clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
48798091.79ed448goldilockscrypto_dh/ed448goldilocks/arm32clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
68183912.51ed448goldilockscrypto_dh/ed448goldilocks/32gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer
66167911.00ed521gscrypto_dh/ed521gs/ref (1.0)gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv (4.8.4)
8939521.00gls1271crypto_dh/gls1271/ref4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv (4.8.4)
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
8734411.00hecfp127icrypto_dh/hecfp127i/v02/w8s32gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer (4.8.4)
8757991.00hecfp127icrypto_dh/hecfp127i/v02/w8s16gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer (4.8.4)
8810821.01hecfp127icrypto_dh/hecfp127i/v02/w8s08gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer
8908111.02hecfp127icrypto_dh/hecfp127i/v02/w8s04gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer
9104851.04hecfp127icrypto_dh/hecfp127i/v02/w8s02gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer
9502651.09hecfp127icrypto_dh/hecfp127i/v02/w8s01gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer
15611581.79hecfp127icrypto_dh/hecfp127i/v02/vargcc -m64 -march=core2 -O2 -fomit-frame-pointer
8026381.00hecfp128bkcrypto_dh/hecfp128bk/v02/w8s32glv4gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer (4.8.4)
8066341.00hecfp128bkcrypto_dh/hecfp128bk/v02/w8s16glv4gcc -funroll-loops -O2 -fomit-frame-pointer
8138701.01hecfp128bkcrypto_dh/hecfp128bk/v02/w8s08glv4gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
8291881.03hecfp128bkcrypto_dh/hecfp128bk/v02/w8s04glv4gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer (4.8.4)
8632171.08hecfp128bkcrypto_dh/hecfp128bk/v02/w8s02glv4gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer (4.8.4)
9274681.16hecfp128bkcrypto_dh/hecfp128bk/v02/w8s01glv4gcc -march=k8 -O3 -fomit-frame-pointer
12626371.57hecfp128bkcrypto_dh/hecfp128bk/v02/varglv4gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer
8011981.00hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s32glv4gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
8051671.00hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s16glv4gcc -m64 -O3 -fomit-frame-pointer
8122231.01hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s08glv4gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer
8276761.03hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s04glv4gcc -m64 -O3 -fomit-frame-pointer
8617051.08hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s02glv4gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer
9259021.16hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s01glv4gcc -march=barcelona -O3 -fomit-frame-pointer
12585691.57hecfp128fktcrypto_dh/hecfp128fkt/v02/varglv4gcc -funroll-loops -O2 -fomit-frame-pointer
15547681.00hecfp128icrypto_dh/hecfp128i/v02/w8s32gcc -m64 -march=k8 -O3 -fomit-frame-pointer (4.8.4)
15618871.00hecfp128icrypto_dh/hecfp128i/v02/w8s16gcc -march=barcelona -O3 -fomit-frame-pointer
15691411.01hecfp128icrypto_dh/hecfp128i/v02/w8s08gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer
15859171.02hecfp128icrypto_dh/hecfp128i/v02/w8s04gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer
16213591.04hecfp128icrypto_dh/hecfp128i/v02/w8s02gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer
16905961.09hecfp128icrypto_dh/hecfp128i/v02/w8s01gcc -march=k8 -O2 -fomit-frame-pointer
27718021.78hecfp128icrypto_dh/hecfp128i/v02/vargcc -funroll-loops -march=k8 -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
28599031.00hectorcrypto_dh/hector/refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible Ubuntu Clang 3.4 (tags/RELEASE 34/final))
6629941.00jacfp127icrypto_dh/jacfp127i/v01/w8s32gcc -march=barcelona -O2 -fomit-frame-pointer (4.8.4)
6650011.00jacfp127icrypto_dh/jacfp127i/v01/w8s16gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer
6685381.01jacfp127icrypto_dh/jacfp127i/v01/w8s08gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer
6757561.02jacfp127icrypto_dh/jacfp127i/v01/w8s04gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer
6909121.04jacfp127icrypto_dh/jacfp127i/v01/w8s02gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer
7195501.09jacfp127icrypto_dh/jacfp127i/v01/w4s32gcc -march=k8 -O3 -fomit-frame-pointer
7207561.09jacfp127icrypto_dh/jacfp127i/v01/w8s01gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer
7224211.09jacfp127icrypto_dh/jacfp127i/v01/w4s16gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
7295221.10jacfp127icrypto_dh/jacfp127i/v01/w4s08gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
7447051.12jacfp127icrypto_dh/jacfp127i/v01/w4s04gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
7754041.17jacfp127icrypto_dh/jacfp127i/v01/w4s02gcc -march=k8 -O2 -fomit-frame-pointer
8353081.26jacfp127icrypto_dh/jacfp127i/v01/w4s01gcc -m64 -march=k8 -O3 -fomit-frame-pointer
11669761.76jacfp127icrypto_dh/jacfp127i/v01/vargcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer
6359851.00jacfp128bkcrypto_dh/jacfp128bk/v01/w8s32glv4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv (4.8.4)
6386401.00jacfp128bkcrypto_dh/jacfp128bk/v01/w8s16glv4gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer
6445261.01jacfp128bkcrypto_dh/jacfp128bk/v01/w8s08glv4gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer
6574411.03jacfp128bkcrypto_dh/jacfp128bk/v01/w8s04glv4gcc -march=barcelona -O2 -fomit-frame-pointer
6823621.07jacfp128bkcrypto_dh/jacfp128bk/v01/w8s02glv4gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer
7321411.15jacfp128bkcrypto_dh/jacfp128bk/v01/w8s01glv4gcc -m64 -march=corei7 -O2 -fomit-frame-pointer
7355701.16jacfp128bkcrypto_dh/jacfp128bk/v01/w4s32glv4gcc -march=barcelona -O2 -fomit-frame-pointer
7423381.17jacfp128bkcrypto_dh/jacfp128bk/v01/w4s16glv4gcc -O2 -fomit-frame-pointer
7538131.19jacfp128bkcrypto_dh/jacfp128bk/v01/w4s08glv4gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer
7803181.23jacfp128bkcrypto_dh/jacfp128bk/v01/w4s04glv4gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer
8293681.30jacfp128bkcrypto_dh/jacfp128bk/v01/w4s02glv4gcc -m64 -march=k8 -O2 -fomit-frame-pointer
9289981.46jacfp128bkcrypto_dh/jacfp128bk/v01/w4s01glv4gcc -m64 -march=nocona -O3 -fomit-frame-pointer
9835381.55jacfp128bkcrypto_dh/jacfp128bk/v01/varglv4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv (4.8.4)
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
7192801.00kumfp127gcrypto_dh/kumfp127g/v02/vargcc -march=k8 -O -fomit-frame-pointer (4.8.4)
12811051.00kumfp128gcrypto_dh/kumfp128g/v02/vargcc -march=k8 -O -fomit-frame-pointer (4.8.4)
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
4567411.00kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s32gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer (4.8.4)
4587301.00kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s16gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer
4621141.01kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s08gcc -march=barcelona -O2 -fomit-frame-pointer
4695661.03kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s04gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer (4.8.4)
4844431.06kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s02gcc -march=barcelona -O2 -fomit-frame-pointer
5125051.12kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s32gcc -m64 -march=k8 -O3 -fomit-frame-pointer
5143411.13kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s01gcc -funroll-loops -m64 -O2 -fomit-frame-pointer
5164651.13kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s16gcc -march=barcelona -O2 -fomit-frame-pointer
5235481.15kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s08gcc -march=barcelona -O2 -fomit-frame-pointer
5391541.18kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s04gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer
5690251.25kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s02gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer
6287851.38kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s01gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer
9652142.11kumjacfp127gcrypto_dh/kumjacfp127g/v01/vargcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer
16353811.00kummercrypto_dh/kummer/refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer (4.8.4)
77551381.00nist521gscrypto_dh/nist521gs/ref (1.0)gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv (4.8.4)
33727231.00nistp256crypto_dh/nistp256/wbl (0.0.1)clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible Ubuntu Clang 3.4 (tags/RELEASE 34/final))
41197861.22nistp256crypto_dh/nistp256/refgcc -m64 -march=core2 -O2 -fomit-frame-pointer
8507521.00prjfp127icrypto_dh/prjfp127i/v01/w8s32gcc -m64 -march=nocona -O2 -fomit-frame-pointer (4.8.4)
8541541.00prjfp127icrypto_dh/prjfp127i/v01/w8s16gcc -march=nocona -O2 -fomit-frame-pointer
8597881.01prjfp127icrypto_dh/prjfp127i/v01/w8s08gcc -march=nocona -O2 -fomit-frame-pointer
8686261.02prjfp127icrypto_dh/prjfp127i/v01/w8s04gcc -march=nocona -O2 -fomit-frame-pointer
8872921.04prjfp127icrypto_dh/prjfp127i/v01/w8s02gcc -march=nocona -O2 -fomit-frame-pointer
9222571.08prjfp127icrypto_dh/prjfp127i/v01/w4s32gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer
9258751.09prjfp127icrypto_dh/prjfp127i/v01/w4s16gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer
9264781.09prjfp127icrypto_dh/prjfp127i/v01/w8s01gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer
9358111.10prjfp127icrypto_dh/prjfp127i/v01/w4s08gcc -m64 -march=nocona -O2 -fomit-frame-pointer (4.8.4)
9559801.12prjfp127icrypto_dh/prjfp127i/v01/w4s04gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
9935911.17prjfp127icrypto_dh/prjfp127i/v01/w4s02gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer
10706131.26prjfp127icrypto_dh/prjfp127i/v01/w4s01gcc -march=nocona -O2 -fomit-frame-pointer
15229351.79prjfp127icrypto_dh/prjfp127i/v01/vargcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer
7798231.00prjfp128bkcrypto_dh/prjfp128bk/v01/w8s32glv4gcc -march=barcelona -O2 -fomit-frame-pointer (4.8.4)
7855111.01prjfp128bkcrypto_dh/prjfp128bk/v01/w8s16glv4gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer
7926121.02prjfp128bkcrypto_dh/prjfp128bk/v01/w8s08glv4gcc -march=barcelona -O2 -fomit-frame-pointer (4.8.4)
8102161.04prjfp128bkcrypto_dh/prjfp128bk/v01/w8s04glv4gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer
8399791.08prjfp128bkcrypto_dh/prjfp128bk/v01/w8s02glv4gcc -m64 -march=corei7 -O2 -fomit-frame-pointer
9050221.16prjfp128bkcrypto_dh/prjfp128bk/v01/w4s32glv4gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
9072541.16prjfp128bkcrypto_dh/prjfp128bk/v01/w8s01glv4gcc -m64 -march=k8 -O3 -fomit-frame-pointer
9131941.17prjfp128bkcrypto_dh/prjfp128bk/v01/w4s16glv4gcc -march=barcelona -O2 -fomit-frame-pointer (4.8.4)
9296371.19prjfp128bkcrypto_dh/prjfp128bk/v01/w4s08glv4gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer
9613981.23prjfp128bkcrypto_dh/prjfp128bk/v01/w4s04glv4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
10269091.32prjfp128bkcrypto_dh/prjfp128bk/v01/w4s02glv4gcc -march=barcelona -O2 -fomit-frame-pointer (4.8.4)
11590201.49prjfp128bkcrypto_dh/prjfp128bk/v01/w4s01glv4gcc -funroll-loops -O2 -fomit-frame-pointer
12228661.57prjfp128bkcrypto_dh/prjfp128bk/v01/varglv4gcc -march=nocona -O2 -fomit-frame-pointer
17161741.00sclaus1024crypto_dh/sclaus1024/gmpg++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer (4.8.4)
19854361.16sclaus1024crypto_dh/sclaus1024/cryptoppg++ -m64 -march=nocona -O3 -fomit-frame-pointer
84931561.00sclaus2048crypto_dh/sclaus2048/gmpg++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer (4.8.4)
97548301.15sclaus2048crypto_dh/sclaus2048/cryptoppg++ -march=k8 -O3 -fomit-frame-pointer
16505371.00surf127epscrypto_dh/surf127eps/mpfqclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible Ubuntu Clang 3.4 (tags/RELEASE 34/final))
26923051.00surf2113crypto_dh/surf2113/mpfqgcc -funroll-loops -m64 -O3 -fomit-frame-pointer (4.8.4)

crypto_scalarmult

TimeRelative timePrimitiveImplementationCompiler
12519091.00curve25519crypto_scalarmult/curve25519/amd64-64clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible Ubuntu Clang 3.4 (tags/RELEASE 34/final))
13108051.05curve25519crypto_scalarmult/curve25519/donna_c64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer
13231801.06curve25519crypto_scalarmult/curve25519/amd64-51gcc -march=barcelona -O -fomit-frame-pointer
19775701.58curve25519crypto_scalarmult/curve25519/donnagcc -funroll-loops -O2 -fomit-frame-pointer
25543802.04curve25519crypto_scalarmult/curve25519/ref10gcc -m64 -march=corei7 -O -fomit-frame-pointer
3759775230.03curve25519crypto_scalarmult/curve25519/refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer
curve25519crypto_scalarmult/curve25519/sandy2xgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
16381171.00kummercrypto_scalarmult/kummer/ref5gcc -m64 -march=k8 -O3 -fomit-frame-pointer (4.8.4)
17283331.06kummercrypto_scalarmult/kummer/ref5ugcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer
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
41256721.00nistp256crypto_scalarmult/nistp256/mj32gcc -funroll-loops -O3 -fomit-frame-pointer (4.8.4)