Implementation notes: amd64, mace, crypto_dh/surf127eps

Computer: mace
Architecture: amd64
CPU ID: AuthenticAMD-00040fb2-178bfbff
SUPERCOP version: 20170105
Operation: crypto_dh
Primitive: surf127eps
TimeImplementationCompilerBenchmark dateSUPERCOP version
1192842mpfqgcc -march=nocona -O3 -fomit-frame-pointer2016111820161009
1193131mpfqgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016111820161009
1196623mpfqclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016111820161009
1198049mpfqclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016111820161009
1199361mpfqclang -O3 -fomit-frame-pointer -Qunused-arguments2016111820161009
1200050mpfqclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016111820161009
1200991mpfqclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016111820161009
1202824mpfqclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016111820161009
1205374mpfqgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016111820161009
1206809mpfqgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016111820161009
1207224mpfqgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016111820161009
1207634mpfqgcc -funroll-loops -O2 -fomit-frame-pointer2016111820161009
1207677mpfqgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016111820161009
1208323mpfqgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016111820161009
1209083mpfqgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016111820161009
1214953mpfqgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016111820161009
1215238mpfqgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016111820161009
1217529mpfqgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016111820161009
1218553mpfqgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016111820161009
1218710mpfqgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016111820161009
1219359mpfqgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016111820161009
1219763mpfqgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016111820161009
1219912mpfqgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016111820161009
1220132mpfqgcc -march=nocona -O2 -fomit-frame-pointer2016111820161009
1220952mpfqgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016111820161009
1221434mpfqgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016111820161009
1221894mpfqgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016111820161009
1221979mpfqgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016111820161009
1221993mpfqgcc -m64 -O2 -fomit-frame-pointer2016111820161009
1222066mpfqgcc -O2 -fomit-frame-pointer2016111820161009
1222418mpfqgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016111820161009
1223004mpfqgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016111820161009
1223226mpfqgcc -funroll-loops -O3 -fomit-frame-pointer2016111820161009
1223377mpfqgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016111820161009
1223869mpfqgcc -march=k8 -O3 -fomit-frame-pointer2016111820161009
1223923mpfqgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016111820161009
1224319mpfqgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016111820161009
1225307mpfqgcc -march=barcelona -O3 -fomit-frame-pointer2016111820161009
1226144mpfqgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016111820161009
1226178mpfqgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016111820161009
1229380mpfqgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016111820161009
1231257mpfqgcc -O3 -fomit-frame-pointer2016111820161009
1231384mpfqgcc -m64 -O3 -fomit-frame-pointer2016111820161009
1235942mpfqgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016111820161009
1236828mpfqgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016111820161009
1237419mpfqgcc -march=barcelona -O2 -fomit-frame-pointer2016111820161009
1237633mpfqgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016111820161009
1238773mpfqgcc -march=k8 -O2 -fomit-frame-pointer2016111820161009
1243864mpfqgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016111820161009
1253273mpfqgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016111820161009
1254772mpfqgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016111820161009
1265168mpfqgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016111820161009
1279783mpfqgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016111820161009
1280667mpfqgcc -funroll-loops -O -fomit-frame-pointer2016111820161009
1283075mpfqgcc -funroll-loops -m64 -O -fomit-frame-pointer2016111820161009
1285456mpfqgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016111820161009
1285522mpfqgcc -march=k8 -O -fomit-frame-pointer2016111820161009
1287352mpfqgcc -m64 -march=k8 -O -fomit-frame-pointer2016111820161009
1287935mpfqgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016111820161009
1290541mpfqgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016111820161009
1296825mpfqgcc -O -fomit-frame-pointer2016111820161009
1296973mpfqgcc -fno-schedule-insns -O -fomit-frame-pointer2016111820161009
1297647mpfqgcc -m64 -O -fomit-frame-pointer2016111820161009
1300039mpfqgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016111820161009
1301404mpfqgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016111820161009
1302029mpfqgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016111820161009
1307679mpfqgcc -march=barcelona -O -fomit-frame-pointer2016111820161009
1308381mpfqgcc -m64 -march=core2 -O -fomit-frame-pointer2016111820161009
1309273mpfqgcc -m64 -march=barcelona -O -fomit-frame-pointer2016111820161009
1309458mpfqgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016111820161009
1311127mpfqgcc -m64 -march=corei7 -O -fomit-frame-pointer2016111820161009
1313133mpfqgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016111820161009
1319711mpfqgcc -march=nocona -O -fomit-frame-pointer2016111820161009
1320755mpfqgcc -m64 -march=nocona -O -fomit-frame-pointer2016111820161009
1768845mpfqgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016111820161009
1769582mpfqgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016111820161009
1769724mpfqgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016111820161009
1770400mpfqgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016111820161009
1771154mpfqgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016111820161009
1773907mpfqgcc -funroll-loops -Os -fomit-frame-pointer2016111820161009
1774025mpfqgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016111820161009
1774839mpfqgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016111820161009
1775651mpfqgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016111820161009
1781812mpfqgcc -march=k8 -Os -fomit-frame-pointer2016111820161009
1782439mpfqgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016111820161009
1782798mpfqgcc -march=barcelona -Os -fomit-frame-pointer2016111820161009
1783862mpfqgcc -m64 -march=k8 -Os -fomit-frame-pointer2016111820161009
1784275mpfqgcc -march=nocona -Os -fomit-frame-pointer2016111820161009
1786921mpfqgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016111820161009
1791935mpfqgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016111820161009
1797849mpfqgcc -m64 -march=nocona -Os -fomit-frame-pointer2016111820161009
1798607mpfqgcc -fno-schedule-insns -Os -fomit-frame-pointer2016111820161009
1800155mpfqgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016111820161009
1800930mpfqgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016111820161009
1801701mpfqgcc -m64 -march=core2 -Os -fomit-frame-pointer2016111820161009
1802316mpfqgcc -m64 -Os -fomit-frame-pointer2016111820161009
1802665mpfqgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016111820161009
1803124mpfqgcc -Os -fomit-frame-pointer2016111820161009

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