Implementation notes: amd64, hydra3, crypto_dh/curve25519

Computer: hydra3
Architecture: amd64
CPU ID: AuthenticAMD-00100fa0-178bfbff
SUPERCOP version: 20171218
Operation: crypto_dh
Primitive: curve25519
TimeImplementationCompilerBenchmark dateSUPERCOP version
780341refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017111620171020
780341refgcc -funroll-loops -Os -fomit-frame-pointer2017111620171020
780341refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017111620171020
780341refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017111620171020
780341refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017111620171020
780341refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017111620171020
780341refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017111620171020
780341refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017111620171020
780342refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017111620171020
780342refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017111620171020
780342refgcc -march=k8 -Os -fomit-frame-pointer2017111620171020
780343refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017111620171020
780343refgcc -funroll-loops -O -fomit-frame-pointer2017111620171020
780343refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017111620171020
780343refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017111620171020
780343refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017111620171020
780343refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017111620171020
780343refgcc -m64 -Os -fomit-frame-pointer2017111620171020
780343refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017111620171020
780343refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017111620171020
780343refgcc -march=barcelona -Os -fomit-frame-pointer2017111620171020
780344refgcc -O -fomit-frame-pointer2017111620171020
780344refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017111620171020
780344refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017111620171020
780344refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017111620171020
780344refgcc -m64 -O -fomit-frame-pointer2017111620171020
780344refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017111620171020
780344refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017111620171020
780344refgcc -march=nocona -Os -fomit-frame-pointer2017111620171020
780345refgcc -Os -fomit-frame-pointer2017111620171020
780345refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017111620171020
780345refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017111620171020
780345refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017111620171020
780345refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017111620171020
780346refgcc -m64 -O3 -fomit-frame-pointer2017111620171020
780346refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017111620171020
780346refgcc -m64 -march=k8 -O -fomit-frame-pointer2017111620171020
780346refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017111620171020
780346refgcc -march=k8 -O -fomit-frame-pointer2017111620171020
780347refgcc -O3 -fomit-frame-pointer2017111620171020
780347refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017111620171020
780348refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017111620171020
780348refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017111620171020
780348refgcc -march=k8 -O3 -fomit-frame-pointer2017111620171020
780349refgcc -funroll-loops -O3 -fomit-frame-pointer2017111620171020
780349refgcc -m64 -march=core2 -O -fomit-frame-pointer2017111620171020
780349refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017111620171020
780349refgcc -march=nocona -O2 -fomit-frame-pointer2017111620171020
780350refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017111620171020
780350refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017111620171020
780350refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017111620171020
780351refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017111620171020
780351refgcc -fno-schedule-insns -O -fomit-frame-pointer2017111620171020
780351refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017111620171020
780353refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017111620171020
780354refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017111620171020
780354refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017111620171020
780354refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017111620171020
780358refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017111620171020
780358refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017111620171020
780361refcc2017111620171020
780361refgcc -funroll-loops -O2 -fomit-frame-pointer2017111620171020
780361refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017111620171020
780361refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017111620171020
780361refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017111620171020
780362refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017111620171020
780362refgcc -funroll-loops2017111620171020
780362refgcc -march=barcelona -O -fomit-frame-pointer2017111620171020
780363refgcc -march=barcelona -O2 -fomit-frame-pointer2017111620171020
780364refgcc2017111620171020
780366refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017111620171020
780367refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017111620171020
780367refgcc -march=barcelona -O3 -fomit-frame-pointer2017111620171020
780368refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017111620171020
780369refgcc -O2 -fomit-frame-pointer2017111620171020
780369refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017111620171020
780369refgcc -m64 -O2 -fomit-frame-pointer2017111620171020
780369refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017111620171020
780370refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017111620171020
780371refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017111620171020
780371refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017111620171020
780372refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017111620171020
780373refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017111620171020
780373refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017111620171020
780374refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017111620171020
780377refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017111620171020
780378refclang -O3 -fomit-frame-pointer -Qunused-arguments2017111620171020
780379refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017111620171020
780379refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017111620171020
780379refgcc -march=k8 -O2 -fomit-frame-pointer2017111620171020
780381refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017111620171020
780382refgcc -m64 -march=nocona -O -fomit-frame-pointer2017111620171020
780383refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017111620171020
780384refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017111620171020
780394refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017111620171020
780397refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017111620171020
780399refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017111620171020
780399refgcc -march=nocona -O -fomit-frame-pointer2017111620171020
780400refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017111620171020
780406refgcc -march=nocona -O3 -fomit-frame-pointer2017111620171020
782643refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017111620171020
1038152mpfqgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017111620171020
1038788mpfqgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017111620171020
1043595mpfqgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017111620171020
1043912mpfqgcc -march=nocona -O3 -fomit-frame-pointer2017111620171020
1044135mpfqgcc -O3 -fomit-frame-pointer2017111620171020
1044236mpfqgcc -m64 -O3 -fomit-frame-pointer2017111620171020
1045023mpfqgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017111620171020
1055109mpfqgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017111620171020
1055363mpfqgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017111620171020
1055624mpfqgcc -funroll-loops -O3 -fomit-frame-pointer2017111620171020
1055764mpfqgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017111620171020
1056540mpfqgcc -march=nocona -O2 -fomit-frame-pointer2017111620171020
1058775mpfqgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017111620171020
1061034mpfqgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017111620171020
1062622mpfqgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017111620171020
1062768mpfqgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017111620171020
1063407mpfqgcc -funroll-loops -O2 -fomit-frame-pointer2017111620171020
1063760mpfqgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017111620171020
1064058mpfqgcc -O2 -fomit-frame-pointer2017111620171020
1065321mpfqgcc -m64 -O2 -fomit-frame-pointer2017111620171020
1068116mpfqgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017111620171020
1068431mpfqgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017111620171020
1068461mpfqgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017111620171020
1068572mpfqgcc -march=barcelona -O3 -fomit-frame-pointer2017111620171020
1068992mpfqgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017111620171020
1069042mpfqgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017111620171020
1069983mpfqgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017111620171020
1070068mpfqgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017111620171020
1070134mpfqgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017111620171020
1071086mpfqgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017111620171020
1071318mpfqgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017111620171020
1071419mpfqgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017111620171020
1071596mpfqgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017111620171020
1073076mpfqgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017111620171020
1074219mpfqgcc -march=k8 -O3 -fomit-frame-pointer2017111620171020
1074269mpfqgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017111620171020
1074845mpfqgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017111620171020
1075041mpfqgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017111620171020
1078676mpfqgcc -march=k8 -O2 -fomit-frame-pointer2017111620171020
1079606mpfqgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017111620171020
1083063mpfqgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017111620171020
1083272mpfqgcc -march=barcelona -O2 -fomit-frame-pointer2017111620171020
1083631mpfqgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017111620171020
1084714mpfqgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017111620171020
1125882mpfqgcc -m64 -march=barcelona -O -fomit-frame-pointer2017111620171020
1126060mpfqgcc -march=barcelona -O -fomit-frame-pointer2017111620171020
1126589mpfqgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017111620171020
1126668mpfqclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017111620171020
1127397mpfqgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017111620171020
1130115mpfqgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017111620171020
1130467mpfqclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017111620171020
1130662mpfqgcc -funroll-loops -O -fomit-frame-pointer2017111620171020
1130859mpfqgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017111620171020
1131512mpfqgcc -march=k8 -O -fomit-frame-pointer2017111620171020
1133200mpfqgcc -m64 -march=k8 -O -fomit-frame-pointer2017111620171020
1133271mpfqgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017111620171020
1133558mpfqgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017111620171020
1135037mpfqgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017111620171020
1136459mpfqclang -O3 -fomit-frame-pointer -Qunused-arguments2017111620171020
1138167mpfqgcc -m64 -O -fomit-frame-pointer2017111620171020
1138833mpfqgcc -m64 -march=nocona -O -fomit-frame-pointer2017111620171020
1139312mpfqgcc -fno-schedule-insns -O -fomit-frame-pointer2017111620171020
1141632mpfqclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017111620171020
1141699mpfqclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017111620171020
1141728mpfqgcc -O -fomit-frame-pointer2017111620171020
1141901mpfqgcc -march=nocona -O -fomit-frame-pointer2017111620171020
1142475mpfqclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017111620171020
1146482mpfqgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017111620171020
1149068mpfqgcc -funroll-loops -m64 -O -fomit-frame-pointer2017111620171020
1149237mpfqgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017111620171020
1149370mpfqgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017111620171020
1150087mpfqgcc -m64 -march=corei7 -O -fomit-frame-pointer2017111620171020
1150454mpfqgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017111620171020
1152622mpfqgcc -m64 -march=core2 -O -fomit-frame-pointer2017111620171020
1287548mpfqgcc -m64 -march=nocona -Os -fomit-frame-pointer2017111620171020
1289899mpfqgcc -march=nocona -Os -fomit-frame-pointer2017111620171020
1300934mpfqgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017111620171020
1301500mpfqgcc -funroll-loops -Os -fomit-frame-pointer2017111620171020
1301641mpfqgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017111620171020
1302058mpfqgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017111620171020
1303325mpfqgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017111620171020
1307462mpfqgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017111620171020
1309151mpfqgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017111620171020
1310103mpfqgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017111620171020
1312112mpfqgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017111620171020
1319596mpfqgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017111620171020
1321714mpfqgcc -m64 -march=core2 -Os -fomit-frame-pointer2017111620171020
1321815mpfqgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017111620171020
1324594mpfqgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017111620171020
1344054mpfqgcc -fno-schedule-insns -Os -fomit-frame-pointer2017111620171020
1345088mpfqgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017111620171020
1345834mpfqgcc -m64 -march=k8 -Os -fomit-frame-pointer2017111620171020
1347913mpfqgcc -m64 -Os -fomit-frame-pointer2017111620171020
1348093mpfqgcc -march=k8 -Os -fomit-frame-pointer2017111620171020
1349253mpfqgcc -Os -fomit-frame-pointer2017111620171020
1354718mpfqgcc -march=barcelona -Os -fomit-frame-pointer2017111620171020
1356165mpfqgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017111620171020
1356622mpfqgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017111620171020
2888066mpfqgcc -funroll-loops2017111620171020
2891299mpfqgcc2017111620171020
2891331mpfqcc2017111620171020

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