Implementation notes: amd64, sand, crypto_dh

Computer: sand
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
CPU cycles/second: 3293000000...3293000000 (amd64cpuspeed)
SUPERCOP version: 20171218
Benchmark dates: 20180413...20180416

crypto_dh

TimeRelative timePrimitiveImplementationCompiler
55428441.00clauscrypto_dh/claus/gmpclang++ -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments (4.2.1 Compatible OpenBSD Clang 5.0.1 (tags/RELEASE 501/final))
65090001.17clauscrypto_dh/claus/opensslgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer
70917181.28clauscrypto_dh/claus/ntlg++ -fno-schedule-insns -O -fomit-frame-pointer
clauscrypto_dh/claus/cryptoppg++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
3727941.00curve2251crypto_dh/curve2251/relic/amd64-clmulclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments (4.2.1 Compatible OpenBSD Clang 5.0.1 (tags/RELEASE 501/final))
10579542.84curve2251crypto_dh/curve2251/relic/amd64-ssse3gcc -march=nocona -O2 -fomit-frame-pointer
35365969.49curve2251crypto_dh/curve2251/mpfqgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer
curve2251crypto_dh/curve2251/relic/amd64-avxgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
7435081.00curve25519crypto_dh/curve25519/refgcc -m64 -march=nocona -Os -fomit-frame-pointer (4.2.1 20070719 )
8947061.20curve25519crypto_dh/curve25519/mpfqgcc -march=nocona -O3 -fomit-frame-pointer
4115541.00ecfp256ecrypto_dh/ecfp256e/v01/w8s8clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible OpenBSD Clang 5.0.1 (tags/RELEASE 501/final))
4157281.01ecfp256ecrypto_dh/ecfp256e/v01/w8s4clang -O3 -fomit-frame-pointer -Qunused-arguments
4233461.03ecfp256ecrypto_dh/ecfp256e/v01/w8s2clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible OpenBSD Clang 5.0.1 (tags/RELEASE 501/final))
4390341.07ecfp256ecrypto_dh/ecfp256e/v01/w8s1clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
6577321.60ecfp256ecrypto_dh/ecfp256e/v01/varclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible OpenBSD Clang 5.0.1 (tags/RELEASE 501/final))
4917261.00ecfp256hcrypto_dh/ecfp256h/v01/w8s8gcc -march=k8 -O3 -fomit-frame-pointer (4.2.1 20070719 )
4959941.01ecfp256hcrypto_dh/ecfp256h/v01/w8s4clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
5007801.02ecfp256hcrypto_dh/ecfp256h/v01/w8s2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
5221661.06ecfp256hcrypto_dh/ecfp256h/v01/w8s1clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
8074621.64ecfp256hcrypto_dh/ecfp256h/v01/vargcc -m64 -march=k8 -O3 -fomit-frame-pointer
7020321.00ecfp256icrypto_dh/ecfp256i/v01/varclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible OpenBSD Clang 5.0.1 (tags/RELEASE 501/final))
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
4419061.00ecfp256qcrypto_dh/ecfp256q/v01/w8s8clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible OpenBSD Clang 5.0.1 (tags/RELEASE 501/final))
4473241.01ecfp256qcrypto_dh/ecfp256q/v01/w8s4clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible OpenBSD Clang 5.0.1 (tags/RELEASE 501/final))
4533741.03ecfp256qcrypto_dh/ecfp256q/v01/w8s2clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
4696381.06ecfp256qcrypto_dh/ecfp256q/v01/w8s1clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible OpenBSD Clang 5.0.1 (tags/RELEASE 501/final))
6978261.58ecfp256qcrypto_dh/ecfp256q/v01/varclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible OpenBSD Clang 5.0.1 (tags/RELEASE 501/final))
5518461.00ecfp256scrypto_dh/ecfp256s/v01/w8s8clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible OpenBSD Clang 5.0.1 (tags/RELEASE 501/final))
5576661.01ecfp256scrypto_dh/ecfp256s/v01/w8s4clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
5669241.03ecfp256scrypto_dh/ecfp256s/v01/w8s2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
5874621.06ecfp256scrypto_dh/ecfp256s/v01/w8s1clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
9335441.69ecfp256scrypto_dh/ecfp256s/v01/vargcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer
12780881.00ed448goldilockscrypto_dh/ed448goldilocks/amd64 (2014-10-12)clang -O3 -fomit-frame-pointer -Qunused-arguments (4.2.1 Compatible OpenBSD Clang 5.0.1 (tags/RELEASE 501/final))
15729781.23ed448goldilockscrypto_dh/ed448goldilocks/64clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
29140062.28ed448goldilockscrypto_dh/ed448goldilocks/arm32clang -O3 -fomit-frame-pointer -Qunused-arguments (4.2.1 Compatible OpenBSD Clang 5.0.1 (tags/RELEASE 501/final))
46354623.63ed448goldilockscrypto_dh/ed448goldilocks/32clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
34859221.00ed521gscrypto_dh/ed521gs/ref (1.0)clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible OpenBSD Clang 5.0.1 (tags/RELEASE 501/final))
5072981.00gls1271crypto_dh/gls1271/ref4gcc -march=k8 -O3 -fomit-frame-pointer (4.2.1 20070719 )
1479521.00gls254crypto_dh/gls254/optclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible OpenBSD Clang 5.0.1 (tags/RELEASE 501/final))
1694761.15gls254crypto_dh/gls254/refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
1904461.29gls254crypto_dh/gls254/protclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible OpenBSD Clang 5.0.1 (tags/RELEASE 501/final))
1577001.00gls254protcrypto_dh/gls254prot/optclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible OpenBSD Clang 5.0.1 (tags/RELEASE 501/final))
1898081.20gls254protcrypto_dh/gls254prot/protclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
3946241.00hecfp127icrypto_dh/hecfp127i/v02/w8s32gcc -O3 -fomit-frame-pointer (4.2.1 20070719 )
3955201.00hecfp127icrypto_dh/hecfp127i/v02/w8s16gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer
3966481.01hecfp127icrypto_dh/hecfp127i/v02/w8s08gcc -m64 -O3 -fomit-frame-pointer
4006501.02hecfp127icrypto_dh/hecfp127i/v02/w8s04gcc -m64 -march=k8 -O3 -fomit-frame-pointer
4091041.04hecfp127icrypto_dh/hecfp127i/v02/w8s02gcc -O3 -fomit-frame-pointer (4.2.1 20070719 )
4256121.08hecfp127icrypto_dh/hecfp127i/v02/w8s01gcc -m64 -O3 -fomit-frame-pointer
6912841.75hecfp127icrypto_dh/hecfp127i/v02/vargcc -m64 -O3 -fomit-frame-pointer
3052041.00hecfp128bkcrypto_dh/hecfp128bk/v02/w8s16glv4gcc -march=k8 -O2 -fomit-frame-pointer (4.2.1 20070719 )
3055281.00hecfp128bkcrypto_dh/hecfp128bk/v02/w8s32glv4gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer
3087141.01hecfp128bkcrypto_dh/hecfp128bk/v02/w8s08glv4gcc -m64 -march=k8 -O2 -fomit-frame-pointer
3144241.03hecfp128bkcrypto_dh/hecfp128bk/v02/w8s04glv4gcc -funroll-loops -O2 -fomit-frame-pointer
3255501.07hecfp128bkcrypto_dh/hecfp128bk/v02/w8s02glv4gcc -m64 -march=k8 -O2 -fomit-frame-pointer
3491961.14hecfp128bkcrypto_dh/hecfp128bk/v02/w8s01glv4gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer
4701961.54hecfp128bkcrypto_dh/hecfp128bk/v02/varglv4gcc -m64 -march=k8 -O2 -fomit-frame-pointer
3037441.00hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s32glv4gcc -m64 -O3 -fomit-frame-pointer (4.2.1 20070719 )
3052901.01hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s16glv4gcc -march=k8 -O2 -fomit-frame-pointer
3070101.01hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s08glv4gcc -march=k8 -O2 -fomit-frame-pointer
3122801.03hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s04glv4gcc -O3 -fomit-frame-pointer
3240601.07hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s02glv4gcc -m64 -march=k8 -O2 -fomit-frame-pointer
3483561.15hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s01glv4gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer
4704641.55hecfp128fktcrypto_dh/hecfp128fkt/v02/varglv4gcc -funroll-loops -O3 -fomit-frame-pointer
5731701.00hecfp128icrypto_dh/hecfp128i/v02/w8s32gcc -fno-schedule-insns -O2 -fomit-frame-pointer (4.2.1 20070719 )
5744541.00hecfp128icrypto_dh/hecfp128i/v02/w8s16gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
5764301.01hecfp128icrypto_dh/hecfp128i/v02/w8s08gcc -fno-schedule-insns -O2 -fomit-frame-pointer (4.2.1 20070719 )
5823701.02hecfp128icrypto_dh/hecfp128i/v02/w8s04gcc -m64 -O2 -fomit-frame-pointer
5955921.04hecfp128icrypto_dh/hecfp128i/v02/w8s02gcc -fno-schedule-insns -O2 -fomit-frame-pointer (4.2.1 20070719 )
6260861.09hecfp128icrypto_dh/hecfp128i/v02/w8s01gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer
10045281.75hecfp128icrypto_dh/hecfp128i/v02/vargcc -m64 -O2 -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
26111301.00hectorcrypto_dh/hector/refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer (4.2.1 20070719 )
2986721.00jacfp127icrypto_dh/jacfp127i/v01/w8s32gcc -fno-schedule-insns -O2 -fomit-frame-pointer (4.2.1 20070719 )
2989361.00jacfp127icrypto_dh/jacfp127i/v01/w8s16gcc -m64 -O2 -fomit-frame-pointer
3004741.01jacfp127icrypto_dh/jacfp127i/v01/w8s08gcc -fno-schedule-insns -O2 -fomit-frame-pointer (4.2.1 20070719 )
3033741.02jacfp127icrypto_dh/jacfp127i/v01/w8s04gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer
3101501.04jacfp127icrypto_dh/jacfp127i/v01/w8s02gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer
3223881.08jacfp127icrypto_dh/jacfp127i/v01/w8s01gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer
3235681.08jacfp127icrypto_dh/jacfp127i/v01/w4s32gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
3253741.09jacfp127icrypto_dh/jacfp127i/v01/w4s16gcc -march=nocona -O2 -fomit-frame-pointer
3282301.10jacfp127icrypto_dh/jacfp127i/v01/w4s08gcc -fno-schedule-insns -O2 -fomit-frame-pointer (4.2.1 20070719 )
3347021.12jacfp127icrypto_dh/jacfp127i/v01/w4s04gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer
3469421.16jacfp127icrypto_dh/jacfp127i/v01/w4s02gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer
3724441.25jacfp127icrypto_dh/jacfp127i/v01/w4s01gcc -m64 -O2 -fomit-frame-pointer
5151921.72jacfp127icrypto_dh/jacfp127i/v01/vargcc -m64 -O3 -fomit-frame-pointer
2407021.00jacfp128bkcrypto_dh/jacfp128bk/v01/w8s32glv4gcc -m64 -march=nocona -O3 -fomit-frame-pointer (4.2.1 20070719 )
2420961.01jacfp128bkcrypto_dh/jacfp128bk/v01/w8s16glv4gcc -O3 -fomit-frame-pointer
2433761.01jacfp128bkcrypto_dh/jacfp128bk/v01/w8s08glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
2476561.03jacfp128bkcrypto_dh/jacfp128bk/v01/w8s04glv4gcc -O2 -fomit-frame-pointer
2554381.06jacfp128bkcrypto_dh/jacfp128bk/v01/w8s02glv4gcc -m64 -O3 -fomit-frame-pointer
2722241.13jacfp128bkcrypto_dh/jacfp128bk/v01/w8s01glv4gcc -O3 -fomit-frame-pointer
2757681.15jacfp128bkcrypto_dh/jacfp128bk/v01/w4s32glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
2793061.16jacfp128bkcrypto_dh/jacfp128bk/v01/w4s16glv4gcc -march=nocona -O2 -fomit-frame-pointer
2828161.17jacfp128bkcrypto_dh/jacfp128bk/v01/w4s08glv4gcc -m64 -march=nocona -O2 -fomit-frame-pointer
2901521.21jacfp128bkcrypto_dh/jacfp128bk/v01/w4s04glv4gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer
3075041.28jacfp128bkcrypto_dh/jacfp128bk/v01/w4s02glv4gcc -O3 -fomit-frame-pointer
3407501.42jacfp128bkcrypto_dh/jacfp128bk/v01/w4s01glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
3678181.53jacfp128bkcrypto_dh/jacfp128bk/v01/varglv4gcc -m64 -O3 -fomit-frame-pointer
2930701.00k277moncrypto_dh/k277mon/refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments (4.2.1 Compatible OpenBSD Clang 5.0.1 (tags/RELEASE 501/final))
1933161.00k277taacrypto_dh/k277taa/refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments (4.2.1 Compatible OpenBSD Clang 5.0.1 (tags/RELEASE 501/final))
k298crypto_dh/k298/refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
3211201.00kumfp127gcrypto_dh/kumfp127g/v02/vargcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer (4.2.1 20070719 )
4567561.00kumfp128gcrypto_dh/kumfp128g/v02/vargcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer (4.2.1 20070719 )
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
2077841.00kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s32gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer (4.2.1 20070719 )
2082801.00kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s16gcc -funroll-loops -m64 -O3 -fomit-frame-pointer
2095881.01kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s08gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer
2127801.02kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s04gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
2189681.05kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s02gcc -funroll-loops -O2 -fomit-frame-pointer
2316401.11kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
2327501.12kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s32gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer
2339741.13kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s16gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer
2372861.14kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s08gcc -march=nocona -O3 -fomit-frame-pointer
2437621.17kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s04gcc -m64 -O2 -fomit-frame-pointer
2564821.23kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s02gcc -O3 -fomit-frame-pointer
2819461.36kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s01gcc -fno-schedule-insns -O2 -fomit-frame-pointer
4283842.06kumjacfp127gcrypto_dh/kumjacfp127g/v01/vargcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer
8121781.00kummercrypto_dh/kummer/refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer (4.2.1 20070719 )
40570941.00nist521gscrypto_dh/nist521gs/ref (1.0)clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible OpenBSD Clang 5.0.1 (tags/RELEASE 501/final))
18663881.00nistp256crypto_dh/nistp256/wbl (0.0.1)clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible OpenBSD Clang 5.0.1 (tags/RELEASE 501/final))
26767641.43nistp256crypto_dh/nistp256/refgcc -march=k8 -O2 -fomit-frame-pointer
3875081.00prjfp127icrypto_dh/prjfp127i/v01/w8s16gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer (4.2.1 20070719 )
3875421.00prjfp127icrypto_dh/prjfp127i/v01/w8s32gcc -O3 -fomit-frame-pointer
3889661.00prjfp127icrypto_dh/prjfp127i/v01/w8s08gcc -fno-schedule-insns -O2 -fomit-frame-pointer
3926821.01prjfp127icrypto_dh/prjfp127i/v01/w8s04gcc -O2 -fomit-frame-pointer
4011601.04prjfp127icrypto_dh/prjfp127i/v01/w8s02gcc -O2 -fomit-frame-pointer
4169121.08prjfp127icrypto_dh/prjfp127i/v01/w4s32gcc -m64 -march=k8 -O3 -fomit-frame-pointer
4172621.08prjfp127icrypto_dh/prjfp127i/v01/w8s01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
4191161.08prjfp127icrypto_dh/prjfp127i/v01/w4s16gcc -funroll-loops -m64 -O3 -fomit-frame-pointer
4235341.09prjfp127icrypto_dh/prjfp127i/v01/w4s08gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer
4312801.11prjfp127icrypto_dh/prjfp127i/v01/w4s04gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
4480141.16prjfp127icrypto_dh/prjfp127i/v01/w4s02gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer
4814141.24prjfp127icrypto_dh/prjfp127i/v01/w4s01gcc -fno-schedule-insns -O3 -fomit-frame-pointer
6786721.75prjfp127icrypto_dh/prjfp127i/v01/vargcc -fno-schedule-insns -Os -fomit-frame-pointer
2930461.00prjfp128bkcrypto_dh/prjfp128bk/v01/w8s32glv4gcc -O3 -fomit-frame-pointer (4.2.1 20070719 )
2951941.01prjfp128bkcrypto_dh/prjfp128bk/v01/w8s16glv4gcc -m64 -O2 -fomit-frame-pointer
2965681.01prjfp128bkcrypto_dh/prjfp128bk/v01/w8s08glv4gcc -fno-schedule-insns -O3 -fomit-frame-pointer
3021521.03prjfp128bkcrypto_dh/prjfp128bk/v01/w8s04glv4gcc -fno-schedule-insns -O3 -fomit-frame-pointer
3146041.07prjfp128bkcrypto_dh/prjfp128bk/v01/w8s02glv4gcc -O2 -fomit-frame-pointer
3359101.15prjfp128bkcrypto_dh/prjfp128bk/v01/w4s32glv4gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer
3362161.15prjfp128bkcrypto_dh/prjfp128bk/v01/w8s01glv4gcc -m64 -O2 -fomit-frame-pointer
3383421.15prjfp128bkcrypto_dh/prjfp128bk/v01/w4s16glv4gcc -O3 -fomit-frame-pointer (4.2.1 20070719 )
3433301.17prjfp128bkcrypto_dh/prjfp128bk/v01/w4s08glv4gcc -m64 -O3 -fomit-frame-pointer
3560841.22prjfp128bkcrypto_dh/prjfp128bk/v01/w4s04glv4gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer
3799641.30prjfp128bkcrypto_dh/prjfp128bk/v01/w4s02glv4gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer
4246221.45prjfp128bkcrypto_dh/prjfp128bk/v01/w4s01glv4gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer
4541681.55prjfp128bkcrypto_dh/prjfp128bk/v01/varglv4gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer
9529961.00sclaus1024crypto_dh/sclaus1024/gmpg++ -m64 -O2 -fomit-frame-pointer (4.2.1 20070719 )
sclaus1024crypto_dh/sclaus1024/cryptoppg++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
46526501.00sclaus2048crypto_dh/sclaus2048/gmpclang++ -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible OpenBSD Clang 5.0.1 (tags/RELEASE 501/final))
sclaus2048crypto_dh/sclaus2048/cryptoppg++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
7577221.00surf127epscrypto_dh/surf127eps/mpfqclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible OpenBSD Clang 5.0.1 (tags/RELEASE 501/final))
24931101.00surf2113crypto_dh/surf2113/mpfqgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer (4.2.1 20070719 )

crypto_scalarmult

TimeRelative timePrimitiveImplementationCompiler
7432501.00curve25519crypto_scalarmult/curve25519/donna_c64 (2.0)clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible OpenBSD Clang 5.0.1 (tags/RELEASE 501/final))
9952461.34curve25519crypto_scalarmult/curve25519/donnagcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer
13959361.88curve25519crypto_scalarmult/curve25519/ref10clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
1882480825.33curve25519crypto_scalarmult/curve25519/refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
curve25519crypto_scalarmult/curve25519/amd64-51gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
curve25519crypto_scalarmult/curve25519/amd64-64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
curve25519crypto_scalarmult/curve25519/sandy2xgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
8109861.00kummercrypto_scalarmult/kummer/ref5uclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible OpenBSD Clang 5.0.1 (tags/RELEASE 501/final))
8571881.06kummercrypto_scalarmult/kummer/ref5clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
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
26783981.00nistp256crypto_scalarmult/nistp256/mj32clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible OpenBSD Clang 5.0.1 (tags/RELEASE 501/final))