Implementation notes: amd64, hydra3, crypto_dh/surf127eps

Computer: hydra3
Architecture: amd64
CPU ID: AuthenticAMD-00100fa0-178bfbff
SUPERCOP version: 20171218
Operation: crypto_dh
Primitive: surf127eps
TimeImplementationCompilerBenchmark dateSUPERCOP version
1035014mpfqclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017111720171020
1035390mpfqclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017111720171020
1035459mpfqclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017111720171020
1035968mpfqclang -O3 -fomit-frame-pointer -Qunused-arguments2017111720171020
1036122mpfqgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017111720171020
1036501mpfqgcc -march=nocona -O3 -fomit-frame-pointer2017111720171020
1037428mpfqclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017111720171020
1037568mpfqclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017111720171020
1048387mpfqgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017111720171020
1048504mpfqgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017111720171020
1048793mpfqgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017111720171020
1049092mpfqgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017111720171020
1049095mpfqgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017111720171020
1049645mpfqgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017111720171020
1049945mpfqgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017111720171020
1050008mpfqgcc -march=nocona -O2 -fomit-frame-pointer2017111720171020
1050050mpfqgcc -funroll-loops -O2 -fomit-frame-pointer2017111720171020
1050065mpfqgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017111720171020
1050787mpfqgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017111720171020
1051035mpfqgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017111720171020
1051476mpfqgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017111720171020
1054063mpfqgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017111720171020
1054454mpfqgcc -O2 -fomit-frame-pointer2017111720171020
1054533mpfqgcc -m64 -O2 -fomit-frame-pointer2017111720171020
1055015mpfqgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017111720171020
1055401mpfqgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017111720171020
1060584mpfqgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017111720171020
1060584mpfqgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017111720171020
1060709mpfqgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017111720171020
1061044mpfqgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017111720171020
1061184mpfqgcc -funroll-loops -O3 -fomit-frame-pointer2017111720171020
1061528mpfqgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017111720171020
1061609mpfqgcc -march=k8 -O3 -fomit-frame-pointer2017111720171020
1061700mpfqgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017111720171020
1061747mpfqgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017111720171020
1061922mpfqgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017111720171020
1062416mpfqgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017111720171020
1062420mpfqgcc -march=barcelona -O3 -fomit-frame-pointer2017111720171020
1062967mpfqgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017111720171020
1063153mpfqgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017111720171020
1063328mpfqgcc -march=barcelona -O2 -fomit-frame-pointer2017111720171020
1064595mpfqgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017111720171020
1065251mpfqgcc -march=k8 -O2 -fomit-frame-pointer2017111720171020
1065415mpfqgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017111720171020
1066040mpfqgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017111720171020
1069547mpfqgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017111720171020
1069615mpfqgcc -m64 -O3 -fomit-frame-pointer2017111720171020
1069977mpfqgcc -O3 -fomit-frame-pointer2017111720171020
1079465mpfqgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017111720171020
1083251mpfqgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017111720171020
1085985mpfqgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017111720171020
1089134mpfqgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017111720171020
1089335mpfqgcc -funroll-loops -m64 -O -fomit-frame-pointer2017111720171020
1089560mpfqgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017111720171020
1089678mpfqgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017111720171020
1089902mpfqgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017111720171020
1090299mpfqgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017111720171020
1090981mpfqgcc -funroll-loops -O -fomit-frame-pointer2017111720171020
1093376mpfqgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017111720171020
1101466mpfqgcc -march=nocona -O -fomit-frame-pointer2017111720171020
1101587mpfqgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017111720171020
1101670mpfqgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017111720171020
1101980mpfqgcc -m64 -march=barcelona -O -fomit-frame-pointer2017111720171020
1102795mpfqgcc -march=barcelona -O -fomit-frame-pointer2017111720171020
1103093mpfqgcc -m64 -O -fomit-frame-pointer2017111720171020
1103710mpfqgcc -fno-schedule-insns -O -fomit-frame-pointer2017111720171020
1104884mpfqgcc -m64 -march=nocona -O -fomit-frame-pointer2017111720171020
1105568mpfqgcc -march=k8 -O -fomit-frame-pointer2017111720171020
1107088mpfqgcc -O -fomit-frame-pointer2017111720171020
1107351mpfqgcc -m64 -march=k8 -O -fomit-frame-pointer2017111720171020
1109323mpfqgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017111720171020
1109426mpfqgcc -m64 -march=core2 -O -fomit-frame-pointer2017111720171020
1113015mpfqgcc -m64 -march=corei7 -O -fomit-frame-pointer2017111720171020
1113491mpfqgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017111720171020
1268953mpfqgcc -march=nocona -Os -fomit-frame-pointer2017111720171020
1270348mpfqgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017111720171020
1270648mpfqgcc -m64 -Os -fomit-frame-pointer2017111720171020
1271733mpfqgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017111720171020
1271812mpfqgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017111720171020
1272105mpfqgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017111720171020
1272261mpfqgcc -m64 -march=k8 -Os -fomit-frame-pointer2017111720171020
1272262mpfqgcc -march=barcelona -Os -fomit-frame-pointer2017111720171020
1272698mpfqgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017111720171020
1272717mpfqgcc -fno-schedule-insns -Os -fomit-frame-pointer2017111720171020
1272912mpfqgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017111720171020
1273328mpfqgcc -m64 -march=nocona -Os -fomit-frame-pointer2017111720171020
1273651mpfqgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017111720171020
1273667mpfqgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017111720171020
1274392mpfqgcc -Os -fomit-frame-pointer2017111720171020
1274912mpfqgcc -march=k8 -Os -fomit-frame-pointer2017111720171020
1275666mpfqgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017111720171020
1276463mpfqgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017111720171020
1276706mpfqgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017111720171020
1277191mpfqgcc -funroll-loops -Os -fomit-frame-pointer2017111720171020
1277512mpfqgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017111720171020
1277783mpfqgcc -m64 -march=core2 -Os -fomit-frame-pointer2017111720171020
1281316mpfqgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017111720171020
1283977mpfqgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017111720171020

Test failure

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

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

Compiler output

Implementation: crypto_dh/surf127eps/mpfq
Compiler: cc
surf127eps.c: In file included from mpfq_p_127_735.h:5:0,
surf127eps.c: from surf127eps.c:18:
surf127eps.c: x86_64/mpfq_p_127_735.h: In function 'mpfq_p_127_735_hadamard':
surf127eps.c: x86_64/mpfq_p_127_735.h:360:3: error: 'asm' operand has impossible constraints
surf127eps.c: __asm__ volatile (
surf127eps.c: ^

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
cc mpfq
gcc mpfq
gcc -funroll-loops mpfq

Compiler output

Implementation: crypto_dh/surf127eps/mpfq
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
mpfq_p_127_735.c: In file included from mpfq_p_127_735.c:5:
mpfq_p_127_735.c: ./x86_64/mpfq_p_127_735.c:111:1: warning: control reaches end of non-void function [-Wreturn-type]
mpfq_p_127_735.c: }
mpfq_p_127_735.c: ^
mpfq_p_127_735.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