Implementation notes: amd64, hydra1, crypto_dh/curve25519

Computer: hydra1
Architecture: amd64
CPU ID: AuthenticAMD-00100fa0-178bfbff
SUPERCOP version: 20161220
Operation: crypto_dh
Primitive: curve25519
TimeImplementationCompilerBenchmark dateSUPERCOP version
876216refgcc -funroll-loops -O3 -fomit-frame-pointer2016102420161009
876216refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016102420161009
876219refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016102420161009
876269refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016102420161009
876269refgcc -march=k8 -O3 -fomit-frame-pointer2016102420161009
876278refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016102420161009
876278refgcc -m64 -O3 -fomit-frame-pointer2016102420161009
876279refgcc -O3 -fomit-frame-pointer2016102420161009
876309refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016102420161009
876314refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016102420161009
876315refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016102420161009
876328refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016102420161009
876336refgcc -march=nocona -O3 -fomit-frame-pointer2016102420161009
876351refgcc -funroll-loops -O2 -fomit-frame-pointer2016102420161009
876351refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016102420161009
876352refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016102420161009
876360refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016102420161009
876362refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016102420161009
876363refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016102420161009
876363refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016102420161009
876367refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016102420161009
876376refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016102420161009
876381refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016102420161009
876383refgcc -march=barcelona -O3 -fomit-frame-pointer2016102420161009
876384refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016102420161009
876386refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016102420161009
876421refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016102420161009
876435refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016102420161009
876477refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016102420161009
876481refgcc -funroll-loops -O -fomit-frame-pointer2016102420161009
876490refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016102420161009
876501refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016102420161009
876512refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016102420161009
876512refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016102420161009
876538refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016102420161009
876554refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016102420161009
880166refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016102420161009
881600refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016102420161009
882477refclang -O3 -fomit-frame-pointer -Qunused-arguments2016102420161009
882477refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016102420161009
882485refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016102420161009
882586refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016102420161009
882590refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016102420161009
883778refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016102420161009
884506refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016102420161009
884560refgcc -march=nocona -Os -fomit-frame-pointer2016102420161009
884563refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016102420161009
884589refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016102420161009
884589refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016102420161009
884701refgcc -march=barcelona -O2 -fomit-frame-pointer2016102420161009
884704refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016102420161009
884706refgcc -funroll-loops -Os -fomit-frame-pointer2016102420161009
884707refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016102420161009
884709refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016102420161009
884709refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016102420161009
884710refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016102420161009
884711refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016102420161009
884720refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016102420161009
884754refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016102420161009
884754refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016102420161009
884856refgcc -Os -fomit-frame-pointer2016102420161009
884861refgcc -m64 -Os -fomit-frame-pointer2016102420161009
884863refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016102420161009
884864refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016102420161009
884867refgcc -march=k8 -O2 -fomit-frame-pointer2016102420161009
884914refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016102420161009
884919refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016102420161009
884965refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016102420161009
885056refgcc -march=barcelona -Os -fomit-frame-pointer2016102420161009
885056refgcc -march=k8 -Os -fomit-frame-pointer2016102420161009
885267refgcc -march=nocona -O2 -fomit-frame-pointer2016102420161009
885312refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016102420161009
885667refgcc -O2 -fomit-frame-pointer2016102420161009
885667refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016102420161009
885669refgcc -m64 -O2 -fomit-frame-pointer2016102420161009
885670refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016102420161009
885671refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016102420161009
885672refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016102420161009
885840refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016102420161009
886189refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016102420161009
886213refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016102420161009
886213refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016102420161009
886368refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016102420161009
887128refgcc -m64 -march=nocona -O -fomit-frame-pointer2016102420161009
887150refgcc -march=nocona -O -fomit-frame-pointer2016102420161009
887378refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016102420161009
887448refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016102420161009
887557refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016102420161009
887559refgcc -m64 -march=core2 -O -fomit-frame-pointer2016102420161009
888181refgcc -fno-schedule-insns -O -fomit-frame-pointer2016102420161009
888186refgcc -m64 -O -fomit-frame-pointer2016102420161009
888189refgcc -O -fomit-frame-pointer2016102420161009
888282refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016102420161009
888286refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016102420161009
888291refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016102420161009
888314refgcc -march=barcelona -O -fomit-frame-pointer2016102420161009
888558refgcc -m64 -march=k8 -O -fomit-frame-pointer2016102420161009
888563refgcc -march=k8 -O -fomit-frame-pointer2016102420161009
927478refgcc2016102420161009
927485refcc2016102420161009
927834refgcc -funroll-loops2016102420161009
1165032mpfqgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016102420161009
1165363mpfqgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016102420161009
1168215mpfqgcc -march=nocona -O3 -fomit-frame-pointer2016102420161009
1169376mpfqgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016102420161009
1170232mpfqgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016102420161009
1171182mpfqgcc -O3 -fomit-frame-pointer2016102420161009
1171824mpfqgcc -m64 -O3 -fomit-frame-pointer2016102420161009
1182848mpfqgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016102420161009
1183120mpfqgcc -funroll-loops -O3 -fomit-frame-pointer2016102420161009
1184494mpfqgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016102420161009
1187741mpfqgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016102420161009
1189448mpfqgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016102420161009
1191481mpfqgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016102420161009
1192701mpfqgcc -funroll-loops -O2 -fomit-frame-pointer2016102420161009
1193392mpfqgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016102420161009
1196803mpfqgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016102420161009
1197188mpfqgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016102420161009
1197266mpfqgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016102420161009
1197497mpfqgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016102420161009
1197566mpfqgcc -march=barcelona -O3 -fomit-frame-pointer2016102420161009
1198119mpfqgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016102420161009
1198413mpfqgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016102420161009
1198735mpfqgcc -march=nocona -O2 -fomit-frame-pointer2016102420161009
1199240mpfqgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016102420161009
1200112mpfqgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016102420161009
1200418mpfqgcc -O2 -fomit-frame-pointer2016102420161009
1200477mpfqgcc -m64 -O2 -fomit-frame-pointer2016102420161009
1201663mpfqgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016102420161009
1202120mpfqgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016102420161009
1202815mpfqgcc -march=k8 -O3 -fomit-frame-pointer2016102420161009
1203332mpfqgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016102420161009
1203859mpfqgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016102420161009
1204117mpfqgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016102420161009
1204616mpfqgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016102420161009
1206601mpfqgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016102420161009
1209122mpfqgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016102420161009
1209128mpfqgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016102420161009
1209566mpfqgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016102420161009
1216712mpfqgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016102420161009
1217461mpfqgcc -march=k8 -O2 -fomit-frame-pointer2016102420161009
1219480mpfqgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016102420161009
1220472mpfqgcc -march=barcelona -O2 -fomit-frame-pointer2016102420161009
1221209mpfqgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016102420161009
1223469mpfqgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016102420161009
1260056mpfqgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016102420161009
1262528mpfqgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016102420161009
1262624mpfqgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016102420161009
1263747mpfqgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016102420161009
1268270mpfqclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016102420161009
1269652mpfqgcc -march=barcelona -O -fomit-frame-pointer2016102420161009
1270193mpfqgcc -m64 -march=barcelona -O -fomit-frame-pointer2016102420161009
1270843mpfqgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016102420161009
1271272mpfqgcc -funroll-loops -O -fomit-frame-pointer2016102420161009
1271894mpfqgcc -funroll-loops -m64 -O -fomit-frame-pointer2016102420161009
1271971mpfqgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016102420161009
1272515mpfqclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016102420161009
1273672mpfqgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016102420161009
1274259mpfqgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016102420161009
1275414mpfqgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016102420161009
1278333mpfqgcc -m64 -march=nocona -O -fomit-frame-pointer2016102420161009
1279114mpfqclang -O3 -fomit-frame-pointer -Qunused-arguments2016102420161009
1280916mpfqgcc -march=nocona -O -fomit-frame-pointer2016102420161009
1283154mpfqgcc -m64 -march=core2 -O -fomit-frame-pointer2016102420161009
1283395mpfqgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016102420161009
1284186mpfqclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016102420161009
1284991mpfqgcc -O -fomit-frame-pointer2016102420161009
1285619mpfqgcc -fno-schedule-insns -O -fomit-frame-pointer2016102420161009
1285861mpfqgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016102420161009
1286318mpfqgcc -m64 -march=corei7 -O -fomit-frame-pointer2016102420161009
1286429mpfqclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016102420161009
1286494mpfqclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016102420161009
1286835mpfqgcc -m64 -march=k8 -O -fomit-frame-pointer2016102420161009
1289205mpfqgcc -m64 -O -fomit-frame-pointer2016102420161009
1290392mpfqgcc -march=k8 -O -fomit-frame-pointer2016102420161009
1433402mpfqgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016102420161009
1437275mpfqgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016102420161009
1457058mpfqgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016102420161009
1460480mpfqgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016102420161009
1462594mpfqgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016102420161009
1464920mpfqgcc -funroll-loops -Os -fomit-frame-pointer2016102420161009
1466010mpfqgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016102420161009
1466312mpfqgcc -march=nocona -Os -fomit-frame-pointer2016102420161009
1467211mpfqgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016102420161009
1468064mpfqgcc -m64 -march=nocona -Os -fomit-frame-pointer2016102420161009
1471075mpfqgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016102420161009
1474958mpfqgcc -fno-schedule-insns -Os -fomit-frame-pointer2016102420161009
1476818mpfqgcc -Os -fomit-frame-pointer2016102420161009
1477485mpfqgcc -m64 -Os -fomit-frame-pointer2016102420161009
1480507mpfqgcc -m64 -march=k8 -Os -fomit-frame-pointer2016102420161009
1480568mpfqgcc -march=k8 -Os -fomit-frame-pointer2016102420161009
1487795mpfqgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016102420161009
1488029mpfqgcc -march=barcelona -Os -fomit-frame-pointer2016102420161009
1488792mpfqgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016102420161009
1508349mpfqgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016102420161009
1519315mpfqgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016102420161009
1519330mpfqgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016102420161009
1520528mpfqgcc -m64 -march=core2 -Os -fomit-frame-pointer2016102420161009
1520646mpfqgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016102420161009
3293284mpfqgcc -funroll-loops2016102420161009
3299590mpfqgcc2016102420161009
3300307mpfqcc2016102420161009

Test failure

Implementation: crypto_dh/curve25519/mpfq
Compiler: gcc -m64 -march=core2 -O3 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -m64 -march=core2 -O3 -fomit-frame-pointer mpfq ref

Compiler output

Implementation: crypto_dh/curve25519/mpfq
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
mpfq_p_25519.c: In file included from mpfq_p_25519.c:5:
mpfq_p_25519.c: ./x86_64/mpfq_p_25519.c:111:1: warning: control reaches end of non-void function [-Wreturn-type]
mpfq_p_25519.c: }
mpfq_p_25519.c: ^
mpfq_p_25519.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments mpfq
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments mpfq
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments mpfq
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments mpfq
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments mpfq
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments mpfq