Implementation notes: amd64, wintermute, crypto_dh

Computer: wintermute
Architecture: amd64
CPU ID: GenuineIntel-000306c3-bfebfbff
CPU cycles/second: 3400063540...3400063540 (amd64tscfreq)
SUPERCOP version: 20140505
Benchmark dates: 20140508...20140508

crypto_dh

TimeRelative timePrimitiveImplementationCompiler
67933041.00clauscrypto_dh/claus/gmpclang++ -O3 -mavx (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
72285641.06clauscrypto_dh/claus/opensslcc
clauscrypto_dh/claus/cryptoppclang++ -O3
clauscrypto_dh/claus/ntlclang++ -O3
4094521.00curve2251crypto_dh/curve2251/relic/amd64-clmulclang -O3 -mavx (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
4120521.01curve2251crypto_dh/curve2251/relic/amd64-avxclang -O3 -mavx (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
11089962.71curve2251crypto_dh/curve2251/relic/amd64-ssse3clang -O3 -mavx (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
34346608.39curve2251crypto_dh/curve2251/mpfqclang -O3 -mavx2
6579201.00curve25519crypto_dh/curve25519/refclang -O3 -mavx2 (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
11380201.73curve25519crypto_dh/curve25519/mpfqclang -O3 -mavx
6273841.00ecfp256ecrypto_dh/ecfp256e/v01/w8s8cc (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
6334281.01ecfp256ecrypto_dh/ecfp256e/v01/w8s4cc (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
6443641.03ecfp256ecrypto_dh/ecfp256e/v01/w8s2cc (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
6673761.06ecfp256ecrypto_dh/ecfp256e/v01/w8s1cc (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
9921281.58ecfp256ecrypto_dh/ecfp256e/v01/varcc (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
6947681.00ecfp256hcrypto_dh/ecfp256h/v01/w8s8cc (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
6998481.01ecfp256hcrypto_dh/ecfp256h/v01/w8s4cc (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
7360801.06ecfp256hcrypto_dh/ecfp256h/v01/w8s1cc (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
11296681.63ecfp256hcrypto_dh/ecfp256h/v01/varcc (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
ecfp256hcrypto_dh/ecfp256h/v01/w8s2clang -O3
10691641.00ecfp256icrypto_dh/ecfp256i/v01/varcc (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
ecfp256icrypto_dh/ecfp256i/v01/w8s1clang -O3
ecfp256icrypto_dh/ecfp256i/v01/w8s2clang -O3
ecfp256icrypto_dh/ecfp256i/v01/w8s4clang -O3
ecfp256icrypto_dh/ecfp256i/v01/w8s8clang -O3
6562001.00ecfp256qcrypto_dh/ecfp256q/v01/w8s8cc (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
6712561.02ecfp256qcrypto_dh/ecfp256q/v01/w8s2cc (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
6936681.06ecfp256qcrypto_dh/ecfp256q/v01/w8s1cc (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
10158281.55ecfp256qcrypto_dh/ecfp256q/v01/varcc (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
ecfp256qcrypto_dh/ecfp256q/v01/w8s4clang -O3
7988721.00ecfp256scrypto_dh/ecfp256s/v01/w8s8cc (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
8052641.01ecfp256scrypto_dh/ecfp256s/v01/w8s4cc (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
8187641.02ecfp256scrypto_dh/ecfp256s/v01/w8s2cc (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
8480121.06ecfp256scrypto_dh/ecfp256s/v01/w8s1cc (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
13331161.67ecfp256scrypto_dh/ecfp256s/v01/varcc (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
gls1271crypto_dh/gls1271/ref4clang -O3
gls254crypto_dh/gls254/protclang -O3
gls254crypto_dh/gls254/refclang -O3
hecfp127icrypto_dh/hecfp127i/v02/varclang -O3
hecfp127icrypto_dh/hecfp127i/v02/w8s01clang -O3
hecfp127icrypto_dh/hecfp127i/v02/w8s02clang -O3
hecfp127icrypto_dh/hecfp127i/v02/w8s04clang -O3
hecfp127icrypto_dh/hecfp127i/v02/w8s08clang -O3
hecfp127icrypto_dh/hecfp127i/v02/w8s16clang -O3
hecfp127icrypto_dh/hecfp127i/v02/w8s32clang -O3
hecfp128bkcrypto_dh/hecfp128bk/v02/varglv4clang -O3
hecfp128bkcrypto_dh/hecfp128bk/v02/w8s01glv4clang -O3
hecfp128bkcrypto_dh/hecfp128bk/v02/w8s02glv4clang -O3
hecfp128bkcrypto_dh/hecfp128bk/v02/w8s04glv4clang -O3
hecfp128bkcrypto_dh/hecfp128bk/v02/w8s08glv4clang -O3
hecfp128bkcrypto_dh/hecfp128bk/v02/w8s16glv4clang -O3
hecfp128bkcrypto_dh/hecfp128bk/v02/w8s32glv4clang -O3
hecfp128fktcrypto_dh/hecfp128fkt/v02/varglv4clang -O3
hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s01glv4clang -O3
hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s02glv4clang -O3
hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s04glv4clang -O3
hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s08glv4clang -O3
hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s16glv4clang -O3
hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s32glv4clang -O3
hecfp128icrypto_dh/hecfp128i/v02/varclang -O3
hecfp128icrypto_dh/hecfp128i/v02/w8s01clang -O3
hecfp128icrypto_dh/hecfp128i/v02/w8s02clang -O3
hecfp128icrypto_dh/hecfp128i/v02/w8s04clang -O3
hecfp128icrypto_dh/hecfp128i/v02/w8s08clang -O3
hecfp128icrypto_dh/hecfp128i/v02/w8s16clang -O3
hecfp128icrypto_dh/hecfp128i/v02/w8s32clang -O3
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/varglv8clang -O3
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s01glv8clang -O3
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s02glv8clang -O3
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s04glv8clang -O3
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s08glv8clang -O3
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s16glv8clang -O3
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s32glv8clang -O3
hecfp61e2icrypto_dh/hecfp61e2i/v01/varclang -O3
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s01clang -O3
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s02clang -O3
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s04clang -O3
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s08clang -O3
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s16clang -O3
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s32clang -O3
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/varglv8clang -O3
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s01glv8clang -O3
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s02glv8clang -O3
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s04glv8clang -O3
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s08glv8clang -O3
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s16glv8clang -O3
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s32glv8clang -O3
hecfp64e2icrypto_dh/hecfp64e2i/v01/varclang -O3
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s01clang -O3
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s02clang -O3
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s04clang -O3
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s08clang -O3
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s16clang -O3
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s32clang -O3
22212801.00hectorcrypto_dh/hector/refclang -O3 -mavx2 (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
kumfp127gcrypto_dh/kumfp127g/v02/varclang -O3
kumfp128gcrypto_dh/kumfp128g/v02/varclang -O3
kumfp61e2gcrypto_dh/kumfp61e2g/v01/varclang -O3
kumfp64e2gcrypto_dh/kumfp64e2g/v01/varclang -O3
2940721.00kummercrypto_dh/kummer/refclang -O3 -mavx (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
11852481.00sclaus1024crypto_dh/sclaus1024/gmpclang++ -O3 (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
sclaus1024crypto_dh/sclaus1024/cryptoppclang++ -O3 (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
55432721.00sclaus2048crypto_dh/sclaus2048/gmpclang++ -O3 -mavx (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
sclaus2048crypto_dh/sclaus2048/cryptoppclang++ -O3
surf127epscrypto_dh/surf127eps/mpfqclang -O3
21183081.00surf2113crypto_dh/surf2113/mpfqclang -O3 -mavx (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))

crypto_scalarmult

TimeRelative timePrimitiveImplementationCompiler
6525961.00curve25519crypto_scalarmult/curve25519/amd64-51clang -O3 (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
7163001.10curve25519crypto_scalarmult/curve25519/amd64-64clang -O3 -mavx
9022361.38curve25519crypto_scalarmult/curve25519/donna_c64clang -O3 (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
11030161.69curve25519crypto_scalarmult/curve25519/donnaclang -O3 -mavx2
16104242.47curve25519crypto_scalarmult/curve25519/ref10clang -O3 -mavx2
2136536432.74curve25519crypto_scalarmult/curve25519/refclang -O3 (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
2886201.00kummercrypto_scalarmult/kummer/avx2clang -O3 -mavx (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))
3972561.38kummercrypto_scalarmult/kummer/avxclang -O3 -mavx (4.2.1 Compatible FreeBSD Clang 3.3 (tags/RELEASE 33/final 183502))