Implementation notes: amd64, genji441, crypto_dh

Computer: genji441
Architecture: amd64
CPU ID: GenuineIntel-000406f1-bfebfbff
CPU cycles/second: 2400000000...2400000000 (amd64cpuinfo)
SUPERCOP version: 20180818
Benchmark dates: 20180819...20180820

crypto_dh

TimeRelative timePrimitiveImplementationCompiler
39743761.00clausopensslicc -no-vec (18.0.20180210)
clauscryptoppg++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
clausgmpg++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
clausntlg++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
3892321.00curve2251relic/amd64-avxicc -xCORE-AVX2 -O3 -fomit-frame-pointer (18.0.20180210)
3908801.00curve2251relic/amd64-clmulicc -xSSE4.1 -O3 -fomit-frame-pointer
11027962.83curve2251relic/amd64-ssse3icc -xSSE4.2 -O3 -fomit-frame-pointer
curve2251mpfqgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
5734521.00curve25519reficc -xSSE4.1 -O2 -fomit-frame-pointer (18.0.20180210)
9435961.65curve25519mpfqicc -no-vec
4850921.00ecfp256ev01/w8s8icc -xSSE4.2 -O3 -fomit-frame-pointer (18.0.20180210)
4887841.01ecfp256ev01/w8s4icc -xCORE-AVX2 -O2 -fomit-frame-pointer
4976441.03ecfp256ev01/w8s2icc -xCORE-AVX2 -O3 -fomit-frame-pointer
5156041.06ecfp256ev01/w8s1icc -xCORE-AVX2 -O3 -fomit-frame-pointer
7915521.63ecfp256ev01/varicc -xCORE-AVX-I -O3 -fomit-frame-pointer
5659961.00ecfp256hv01/w8s8icc -xSSE4.1 -O2 -fomit-frame-pointer (18.0.20180210)
5698721.01ecfp256hv01/w8s4icc -xCORE-AVX2 -O3 -fomit-frame-pointer
5797481.02ecfp256hv01/w8s2icc -xSSE4.1 -O3 -fomit-frame-pointer
6010241.06ecfp256hv01/w8s1icc -xSSE4.2 -O2 -fomit-frame-pointer
9489361.68ecfp256hv01/varicc -xSSE4.2 -O2 -fomit-frame-pointer
8336041.00ecfp256iv01/varicc -xSSE4.2 -O2 -fomit-frame-pointer (18.0.20180210)
ecfp256iv01/w8s1gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
ecfp256iv01/w8s2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
ecfp256iv01/w8s4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
ecfp256iv01/w8s8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
5136121.00ecfp256qv01/w8s8icc -xCORE-AVX2 -O3 -fomit-frame-pointer (18.0.20180210)
5160881.00ecfp256qv01/w8s4icc -xSSE4.1 -O3 -fomit-frame-pointer
5250081.02ecfp256qv01/w8s2icc -xSSE4.2 -O2 -fomit-frame-pointer
5444321.06ecfp256qv01/w8s1icc -xAVX -O2 -fomit-frame-pointer
8143361.59ecfp256qv01/varicc -xCORE-AVX2 -O2 -fomit-frame-pointer
6186801.00ecfp256sv01/w8s8icc -xSSE4.2 -O3 -fomit-frame-pointer (18.0.20180210)
6230281.01ecfp256sv01/w8s4icc -xAVX -O2 -fomit-frame-pointer
6310281.02ecfp256sv01/w8s2icc -xCORE-AVX2 -O2 -fomit-frame-pointer
6567401.06ecfp256sv01/w8s1icc -xSSE4.2 -O3 -fomit-frame-pointer (18.0.20180210)
10431601.69ecfp256sv01/varicc -xSSE4.1 -O2 -fomit-frame-pointer
14429641.00ed448goldilocksamd64icc -xSSE4.2 -O3 -fomit-frame-pointer (18.0.20180210)
16021201.11ed448goldilocks64icc -xCORE-AVX2 -O3 -fomit-frame-pointer
55361043.84ed448goldilocks32icc -xSSE4.2 -O2 -fomit-frame-pointer
ed448goldilocksarm32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
70254801.00ed521gsreficc -xCORE-AVX2 -O3 -fomit-frame-pointer (18.0.20180210)
gls1271ref4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
1617681.00gls254opticc -xCORE-AVX2 -O2 -fomit-frame-pointer (18.0.20180210)
1784361.10gls254reficc -xCORE-AVX-I -O2 -fomit-frame-pointer
2229201.38gls254proticc -xCORE-AVX2 -O3 -fomit-frame-pointer
1709241.00gls254protopticc -xCORE-AVX-I -O3 -fomit-frame-pointer (18.0.20180210)
2220161.30gls254protproticc -xAVX -O3 -fomit-frame-pointer
hecfp127iv02/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp127iv02/w8s01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp127iv02/w8s02gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp127iv02/w8s04gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp127iv02/w8s08gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp127iv02/w8s16gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp127iv02/w8s32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128bkv02/varglv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128bkv02/w8s01glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128bkv02/w8s02glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128bkv02/w8s04glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128bkv02/w8s08glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128bkv02/w8s16glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128bkv02/w8s32glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128fktv02/varglv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128fktv02/w8s01glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128fktv02/w8s02glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128fktv02/w8s04glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128fktv02/w8s08glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128fktv02/w8s16glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128fktv02/w8s32glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128iv02/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128iv02/w8s01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128iv02/w8s02gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128iv02/w8s04gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128iv02/w8s08gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128iv02/w8s16gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128iv02/w8s32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2bkv01/varglv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2bkv01/w8s01glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2bkv01/w8s02glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2bkv01/w8s04glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2bkv01/w8s08glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2bkv01/w8s16glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2bkv01/w8s32glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2iv01/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2iv01/w8s01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2iv01/w8s02gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2iv01/w8s04gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2iv01/w8s08gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2iv01/w8s16gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2iv01/w8s32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2bkv01/varglv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2bkv01/w8s01glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2bkv01/w8s02glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2bkv01/w8s04glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2bkv01/w8s08glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2bkv01/w8s16glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2bkv01/w8s32glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2iv01/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2iv01/w8s01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2iv01/w8s02gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2iv01/w8s04gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2iv01/w8s08gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2iv01/w8s16gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2iv01/w8s32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hectorrefgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp127iv01/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp127iv01/w4s01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp127iv01/w4s02gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp127iv01/w4s04gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp127iv01/w4s08gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp127iv01/w4s16gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp127iv01/w4s32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp127iv01/w8s01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp127iv01/w8s02gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp127iv01/w8s04gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp127iv01/w8s08gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp127iv01/w8s16gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp127iv01/w8s32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp128bkv01/varglv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp128bkv01/w4s01glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp128bkv01/w4s02glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp128bkv01/w4s04glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp128bkv01/w4s08glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp128bkv01/w4s16glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp128bkv01/w4s32glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp128bkv01/w8s01glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp128bkv01/w8s02glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp128bkv01/w8s04glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp128bkv01/w8s08glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp128bkv01/w8s16glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp128bkv01/w8s32glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
3102441.00k277monreficc -xCORE-AVX2 -O3 -fomit-frame-pointer (18.0.20180210)
2174201.00k277taareficc -xCORE-AVX2 -O2 -fomit-frame-pointer (18.0.20180210)
2303201.00k298reficc -xCORE-AVX2 -O3 -fomit-frame-pointer (18.0.20180210)
kumfp127gv02/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumfp128gv02/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumfp61e2gv01/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumfp64e2gv01/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumjacfp127gv01/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumjacfp127gv01/w4s01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumjacfp127gv01/w4s02gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumjacfp127gv01/w4s04gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumjacfp127gv01/w4s08gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumjacfp127gv01/w4s16gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumjacfp127gv01/w4s32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumjacfp127gv01/w8s01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumjacfp127gv01/w8s02gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumjacfp127gv01/w8s04gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumjacfp127gv01/w8s08gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumjacfp127gv01/w8s16gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumjacfp127gv01/w8s32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
2714761.00kummerreficc -xAVX -O2 -fomit-frame-pointer (18.0.20180210)
83178401.00nist521gsreficc -xCORE-AVX2 -O2 -fomit-frame-pointer (18.0.20180210)
18893841.00nistp256wblicc -xCORE-AVX2 -O2 -fomit-frame-pointer (18.0.20180210)
25755241.36nistp256reficc
prjfp127iv01/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp127iv01/w4s01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp127iv01/w4s02gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp127iv01/w4s04gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp127iv01/w4s08gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp127iv01/w4s16gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp127iv01/w4s32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp127iv01/w8s01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp127iv01/w8s02gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp127iv01/w8s04gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp127iv01/w8s08gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp127iv01/w8s16gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp127iv01/w8s32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp128bkv01/varglv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp128bkv01/w4s01glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp128bkv01/w4s02glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp128bkv01/w4s04glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp128bkv01/w4s08glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp128bkv01/w4s16glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp128bkv01/w4s32glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp128bkv01/w8s01glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp128bkv01/w8s02glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp128bkv01/w8s04glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp128bkv01/w8s08glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp128bkv01/w8s16glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp128bkv01/w8s32glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
sclaus1024cryptoppg++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
sclaus1024gmpg++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
sclaus2048cryptoppg++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
sclaus2048gmpg++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
8448321.00surf127epsmpfqicc -xCORE-AVX2 -O3 -fomit-frame-pointer (18.0.20180210)
surf2113mpfqgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv