Implementation notes: amd64, genji460, crypto_dh

Computer: genji460
Architecture: amd64
CPU ID: GenuineIntel-000306f2-bfebfbff
CPU cycles/second: 2300000000...2300000000 (amd64cpuinfo)
SUPERCOP version: 20180818
Benchmark dates: 20180826...20180828

crypto_dh

TimeRelative timePrimitiveImplementationCompiler
50845001.00clausopensslicc -xSSE4.1 -O3 -fomit-frame-pointer (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
4051081.00curve2251relic/amd64-clmulicc -xAVX -O3 -fomit-frame-pointer (18.0.20180210)
4064601.00curve2251relic/amd64-avxicc -xAVX -O3 -fomit-frame-pointer (18.0.20180210)
11165402.76curve2251relic/amd64-ssse3icc -xSSE4.2 -O3 -fomit-frame-pointer
curve2251mpfqgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
6017441.00curve25519reficc -no-vec (18.0.20180210)
curve25519mpfqgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
5294441.00ecfp256ev01/w8s8icc -xCORE-AVX2 -O2 -fomit-frame-pointer (18.0.20180210)
5317081.00ecfp256ev01/w8s4icc -xCORE-AVX2 -O3 -fomit-frame-pointer
5432961.03ecfp256ev01/w8s2icc -xCORE-AVX2 -O2 -fomit-frame-pointer (18.0.20180210)
5619121.06ecfp256ev01/w8s1icc -xCORE-AVX2 -O3 -fomit-frame-pointer
8651961.63ecfp256ev01/varicc -xSSE4.2 -O3 -fomit-frame-pointer
6085081.00ecfp256hv01/w8s8icc -xSSE4.2 -O3 -fomit-frame-pointer (18.0.20180210)
6125801.01ecfp256hv01/w8s4icc -xCORE-AVX2 -O2 -fomit-frame-pointer
6254521.03ecfp256hv01/w8s2icc -xCORE-AVX2 -O2 -fomit-frame-pointer
6476441.06ecfp256hv01/w8s1icc -xAVX -O2 -fomit-frame-pointer
10252601.68ecfp256hv01/varicc -no-vec
9048561.00ecfp256iv01/varicc -xSSE4.1 -O3 -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
5532841.00ecfp256qv01/w8s8icc -xCORE-AVX2 -O2 -fomit-frame-pointer (18.0.20180210)
5593841.01ecfp256qv01/w8s4icc -xCORE-AVX2 -O2 -fomit-frame-pointer (18.0.20180210)
5679721.03ecfp256qv01/w8s2icc -xCORE-AVX2 -O2 -fomit-frame-pointer (18.0.20180210)
5898161.07ecfp256qv01/w8s1icc -xAVX -O3 -fomit-frame-pointer
8878081.60ecfp256qv01/varicc -xCORE-AVX2 -O3 -fomit-frame-pointer
6739241.00ecfp256sv01/w8s8icc -xSSE4.2 -O3 -fomit-frame-pointer (18.0.20180210)
6766641.00ecfp256sv01/w8s4icc -xCORE-AVX-I -O2 -fomit-frame-pointer
6886201.02ecfp256sv01/w8s2icc -xAVX -O2 -fomit-frame-pointer
7142921.06ecfp256sv01/w8s1icc -xCORE-AVX2 -O3 -fomit-frame-pointer
11374241.69ecfp256sv01/varicc -xCORE-AVX2 -O2 -fomit-frame-pointer
16259921.00ed448goldilocksamd64icc (18.0.20180210)
17965561.10ed448goldilocks64icc -xCORE-AVX2 -O3 -fomit-frame-pointer
55733243.43ed448goldilocks32icc -xSSE4.2 -O2 -fomit-frame-pointer
ed448goldilocksarm32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
76207121.00ed521gsreficc -xCORE-AVX2 -O2 -fomit-frame-pointer (18.0.20180210)
gls1271ref4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
1941441.00gls254reficc -xCORE-AVX-I -O2 -fomit-frame-pointer (18.0.20180210)
2025081.04gls254opticc -xAVX -O2 -fomit-frame-pointer
2530761.30gls254proticc -xAVX -O3 -fomit-frame-pointer
2121881.00gls254protopticc -xCORE-AVX2 -O2 -fomit-frame-pointer (18.0.20180210)
2537081.20gls254protproticc -xCORE-AVX2 -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
3960241.00k277monreficc -xSSE4.1 -O2 -fomit-frame-pointer (18.0.20180210)
2816641.00k277taareficc -xCORE-AVX-I -O3 -fomit-frame-pointer (18.0.20180210)
3003961.00k298reficc -xAVX -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
2728441.00kummerreficc -xCORE-AVX2 -O2 -fomit-frame-pointer (18.0.20180210)
90342481.00nist521gsreficc -xCORE-AVX2 -O2 -fomit-frame-pointer (18.0.20180210)
21141721.00nistp256wblicc -xCORE-AVX2 -O2 -fomit-frame-pointer (18.0.20180210)
26171361.24nistp256reficc
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
surf127epsmpfqgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
surf2113mpfqgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv