Implementation notes: amd64, mace, crypto_dh/curve25519

Computer: mace
Architecture: amd64
CPU ID: AuthenticAMD-00040fb2-178bfbff
SUPERCOP version: 20170105
Operation: crypto_dh
Primitive: curve25519
TimeImplementationCompilerBenchmark dateSUPERCOP version
881139refgcc -O3 -fomit-frame-pointer2016111720161009
881139refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016111720161009
881140refgcc -m64 -O3 -fomit-frame-pointer2016111720161009
881141refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016111720161009
881142refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016111720161009
881160refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016111720161009
881306refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016111720161009
881335refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016111720161009
881343refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016111720161009
881373refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016111720161009
881408refgcc -march=k8 -O3 -fomit-frame-pointer2016111720161009
881410refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016111720161009
881423refgcc -funroll-loops -O3 -fomit-frame-pointer2016111720161009
881434refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016111720161009
881438refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016111720161009
881442refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016111720161009
881454refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016111720161009
881475refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016111720161009
881479refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016111720161009
881481refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016111720161009
881487refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016111720161009
881553refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016111720161009
881557refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016111720161009
881567refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016111720161009
881615refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016111720161009
881688refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016111720161009
881711refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016111720161009
881791refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016111720161009
881862refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016111720161009
881864refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016111720161009
881888refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016111720161009
881891refgcc -march=barcelona -O3 -fomit-frame-pointer2016111720161009
881926refgcc -funroll-loops -O2 -fomit-frame-pointer2016111720161009
881927refgcc -funroll-loops -O -fomit-frame-pointer2016111720161009
881930refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016111720161009
881930refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016111720161009
882092refgcc -march=nocona -O3 -fomit-frame-pointer2016111720161009
882097refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016111720161009
887800refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016111720161009
888087refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016111720161009
888136refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016111720161009
888136refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016111720161009
888137refclang -O3 -fomit-frame-pointer -Qunused-arguments2016111720161009
888147refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016111720161009
889752refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016111720161009
889760refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016111720161009
889911refgcc -march=nocona -Os -fomit-frame-pointer2016111720161009
889947refgcc -march=k8 -O2 -fomit-frame-pointer2016111720161009
889948refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016111720161009
889948refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016111720161009
889950refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016111720161009
889952refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016111720161009
890027refgcc -Os -fomit-frame-pointer2016111720161009
890027refgcc -m64 -Os -fomit-frame-pointer2016111720161009
890027refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016111720161009
890027refgcc -march=k8 -Os -fomit-frame-pointer2016111720161009
890028refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016111720161009
890029refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016111720161009
890030refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016111720161009
890030refgcc -march=barcelona -Os -fomit-frame-pointer2016111720161009
890032refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016111720161009
890110refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016111720161009
890409refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016111720161009
890596refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016111720161009
890603refgcc -O2 -fomit-frame-pointer2016111720161009
890635refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016111720161009
890652refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016111720161009
890666refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016111720161009
890672refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016111720161009
890731refgcc -funroll-loops -Os -fomit-frame-pointer2016111720161009
890731refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016111720161009
890732refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016111720161009
890732refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016111720161009
890735refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016111720161009
890776refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016111720161009
890779refgcc -m64 -O2 -fomit-frame-pointer2016111720161009
890782refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016111720161009
890808refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016111720161009
890816refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016111720161009
891029refgcc -march=nocona -O2 -fomit-frame-pointer2016111720161009
891031refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016111720161009
891261refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016111720161009
891261refgcc -march=barcelona -O2 -fomit-frame-pointer2016111720161009
892986refgcc -m64 -march=nocona -O -fomit-frame-pointer2016111720161009
892986refgcc -march=nocona -O -fomit-frame-pointer2016111720161009
893530refgcc -march=barcelona -O -fomit-frame-pointer2016111720161009
893683refgcc -m64 -march=k8 -O -fomit-frame-pointer2016111720161009
893687refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016111720161009
893687refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016111720161009
893689refgcc -march=k8 -O -fomit-frame-pointer2016111720161009
893738refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016111720161009
893792refgcc -m64 -march=core2 -O -fomit-frame-pointer2016111720161009
893872refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016111720161009
893872refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016111720161009
894106refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016111720161009
894502refgcc -O -fomit-frame-pointer2016111720161009
894502refgcc -fno-schedule-insns -O -fomit-frame-pointer2016111720161009
894502refgcc -m64 -O -fomit-frame-pointer2016111720161009
936518refcc2016111720161009
936518refgcc -funroll-loops2016111720161009
936552refgcc2016111720161009
1222785mpfqgcc -O3 -fomit-frame-pointer2016111720161009
1222984mpfqgcc -m64 -O3 -fomit-frame-pointer2016111720161009
1225890mpfqgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016111720161009
1227926mpfqgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016111720161009
1228484mpfqgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016111720161009
1228931mpfqgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016111720161009
1231032mpfqgcc -march=nocona -O3 -fomit-frame-pointer2016111720161009
1247797mpfqgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016111720161009
1249199mpfqgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016111720161009
1249949mpfqgcc -funroll-loops -O3 -fomit-frame-pointer2016111720161009
1250465mpfqgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016111720161009
1250909mpfqgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016111720161009
1251519mpfqgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016111720161009
1252576mpfqgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016111720161009
1254903mpfqgcc -march=barcelona -O3 -fomit-frame-pointer2016111720161009
1254939mpfqgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016111720161009
1255050mpfqgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016111720161009
1257164mpfqgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016111720161009
1259524mpfqgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016111720161009
1265517mpfqgcc -funroll-loops -O2 -fomit-frame-pointer2016111720161009
1265580mpfqgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016111720161009
1265736mpfqgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016111720161009
1266368mpfqgcc -m64 -O2 -fomit-frame-pointer2016111720161009
1266643mpfqgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016111720161009
1266902mpfqgcc -O2 -fomit-frame-pointer2016111720161009
1267040mpfqgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016111720161009
1268510mpfqgcc -march=k8 -O3 -fomit-frame-pointer2016111720161009
1272374mpfqgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016111720161009
1273107mpfqgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016111720161009
1273764mpfqgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016111720161009
1273769mpfqgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016111720161009
1274809mpfqgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016111720161009
1275731mpfqgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016111720161009
1275785mpfqgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016111720161009
1276589mpfqgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016111720161009
1276784mpfqgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016111720161009
1278951mpfqgcc -march=nocona -O2 -fomit-frame-pointer2016111720161009
1279298mpfqgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016111720161009
1282721mpfqgcc -march=barcelona -O2 -fomit-frame-pointer2016111720161009
1283954mpfqgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016111720161009
1285559mpfqgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016111720161009
1295942mpfqgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016111720161009
1296224mpfqgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016111720161009
1296300mpfqgcc -march=k8 -O2 -fomit-frame-pointer2016111720161009
1323606mpfqclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016111720161009
1327117mpfqclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016111720161009
1355518mpfqgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016111720161009
1355810mpfqgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016111720161009
1369184mpfqgcc -m64 -march=k8 -O -fomit-frame-pointer2016111720161009
1369992mpfqgcc -march=k8 -O -fomit-frame-pointer2016111720161009
1370651mpfqgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016111720161009
1370739mpfqgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016111720161009
1380666mpfqgcc -m64 -march=nocona -O -fomit-frame-pointer2016111720161009
1382586mpfqgcc -march=nocona -O -fomit-frame-pointer2016111720161009
1385667mpfqgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016111720161009
1387585mpfqclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016111720161009
1388086mpfqgcc -fno-schedule-insns -O -fomit-frame-pointer2016111720161009
1389742mpfqclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016111720161009
1389817mpfqgcc -m64 -O -fomit-frame-pointer2016111720161009
1390147mpfqclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016111720161009
1390151mpfqgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016111720161009
1390267mpfqgcc -O -fomit-frame-pointer2016111720161009
1393728mpfqgcc -m64 -march=barcelona -O -fomit-frame-pointer2016111720161009
1394047mpfqgcc -funroll-loops -O -fomit-frame-pointer2016111720161009
1394106mpfqgcc -funroll-loops -m64 -O -fomit-frame-pointer2016111720161009
1395136mpfqgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016111720161009
1396476mpfqgcc -march=barcelona -O -fomit-frame-pointer2016111720161009
1412339mpfqgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016111720161009
1415494mpfqgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016111720161009
1421411mpfqclang -O3 -fomit-frame-pointer -Qunused-arguments2016111720161009
1431745mpfqgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016111720161009
1439032mpfqgcc -m64 -march=core2 -O -fomit-frame-pointer2016111720161009
1442085mpfqgcc -m64 -march=corei7 -O -fomit-frame-pointer2016111720161009
1442291mpfqgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016111720161009
1588089mpfqgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016111720161009
1589048mpfqgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016111720161009
1593058mpfqgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016111720161009
1595508mpfqgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016111720161009
1595525mpfqgcc -funroll-loops -Os -fomit-frame-pointer2016111720161009
1596383mpfqgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016111720161009
1600075mpfqgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016111720161009
1610834mpfqgcc -m64 -march=k8 -Os -fomit-frame-pointer2016111720161009
1610956mpfqgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016111720161009
1613148mpfqgcc -fno-schedule-insns -Os -fomit-frame-pointer2016111720161009
1615283mpfqgcc -Os -fomit-frame-pointer2016111720161009
1615834mpfqgcc -march=k8 -Os -fomit-frame-pointer2016111720161009
1617706mpfqgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016111720161009
1619125mpfqgcc -m64 -Os -fomit-frame-pointer2016111720161009
1621908mpfqgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016111720161009
1623380mpfqgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016111720161009
1625908mpfqgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016111720161009
1626099mpfqgcc -m64 -march=core2 -Os -fomit-frame-pointer2016111720161009
1627027mpfqgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016111720161009
1627668mpfqgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016111720161009
1632860mpfqgcc -m64 -march=nocona -Os -fomit-frame-pointer2016111720161009
1643955mpfqgcc -march=nocona -Os -fomit-frame-pointer2016111720161009
1656320mpfqgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016111720161009
1656699mpfqgcc -march=barcelona -Os -fomit-frame-pointer2016111720161009
4413337mpfqgcc2016111720161009
4420631mpfqgcc -funroll-loops2016111720161009
4423823mpfqcc2016111720161009

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