Implementation notes: amd64, hydra1, crypto_dh/surf127eps

Computer: hydra1
Architecture: amd64
CPU ID: AuthenticAMD-00100fa0-178bfbff
SUPERCOP version: 20161220
Operation: crypto_dh
Primitive: surf127eps
TimeImplementationCompilerBenchmark dateSUPERCOP version
1160100mpfqgcc -march=nocona -O3 -fomit-frame-pointer2016102420161009
1160112mpfqgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016102420161009
1165576mpfqclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016102420161009
1165635mpfqclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016102420161009
1166178mpfqclang -O3 -fomit-frame-pointer -Qunused-arguments2016102420161009
1166613mpfqclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016102420161009
1166924mpfqclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016102420161009
1168307mpfqclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016102420161009
1175232mpfqgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016102420161009
1175369mpfqgcc -funroll-loops -O2 -fomit-frame-pointer2016102420161009
1175426mpfqgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016102420161009
1175582mpfqgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016102420161009
1175602mpfqgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016102420161009
1176097mpfqgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016102420161009
1177121mpfqgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016102420161009
1183355mpfqgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016102420161009
1183451mpfqgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016102420161009
1183942mpfqgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016102420161009
1184437mpfqgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016102420161009
1184557mpfqgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016102420161009
1185122mpfqgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016102420161009
1185618mpfqgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016102420161009
1186389mpfqgcc -march=nocona -O2 -fomit-frame-pointer2016102420161009
1187608mpfqgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016102420161009
1187731mpfqgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016102420161009
1187872mpfqgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016102420161009
1188071mpfqgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016102420161009
1188446mpfqgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016102420161009
1188497mpfqgcc -march=k8 -O3 -fomit-frame-pointer2016102420161009
1188509mpfqgcc -march=barcelona -O3 -fomit-frame-pointer2016102420161009
1188554mpfqgcc -funroll-loops -O3 -fomit-frame-pointer2016102420161009
1188776mpfqgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016102420161009
1188904mpfqgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016102420161009
1189187mpfqgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016102420161009
1189326mpfqgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016102420161009
1190021mpfqgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016102420161009
1190829mpfqgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016102420161009
1191272mpfqgcc -O2 -fomit-frame-pointer2016102420161009
1192125mpfqgcc -m64 -O2 -fomit-frame-pointer2016102420161009
1192150mpfqgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016102420161009
1198118mpfqgcc -O3 -fomit-frame-pointer2016102420161009
1198382mpfqgcc -m64 -O3 -fomit-frame-pointer2016102420161009
1198515mpfqgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016102420161009
1198709mpfqgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016102420161009
1198874mpfqgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016102420161009
1199643mpfqgcc -march=barcelona -O2 -fomit-frame-pointer2016102420161009
1202001mpfqgcc -march=k8 -O2 -fomit-frame-pointer2016102420161009
1202978mpfqgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016102420161009
1208482mpfqgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016102420161009
1216734mpfqgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016102420161009
1218635mpfqgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016102420161009
1219325mpfqgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016102420161009
1219560mpfqgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016102420161009
1220051mpfqgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016102420161009
1220295mpfqgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016102420161009
1221358mpfqgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016102420161009
1223090mpfqgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016102420161009
1223113mpfqgcc -funroll-loops -m64 -O -fomit-frame-pointer2016102420161009
1223691mpfqgcc -funroll-loops -O -fomit-frame-pointer2016102420161009
1234600mpfqgcc -O -fomit-frame-pointer2016102420161009
1235462mpfqgcc -fno-schedule-insns -O -fomit-frame-pointer2016102420161009
1239250mpfqgcc -m64 -O -fomit-frame-pointer2016102420161009
1243149mpfqgcc -m64 -march=nocona -O -fomit-frame-pointer2016102420161009
1244583mpfqgcc -march=barcelona -O -fomit-frame-pointer2016102420161009
1245311mpfqgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016102420161009
1246149mpfqgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016102420161009
1246416mpfqgcc -m64 -march=corei7 -O -fomit-frame-pointer2016102420161009
1247481mpfqgcc -march=nocona -O -fomit-frame-pointer2016102420161009
1248381mpfqgcc -m64 -march=barcelona -O -fomit-frame-pointer2016102420161009
1248946mpfqgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016102420161009
1249174mpfqgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016102420161009
1250376mpfqgcc -m64 -march=k8 -O -fomit-frame-pointer2016102420161009
1251562mpfqgcc -m64 -march=core2 -O -fomit-frame-pointer2016102420161009
1252342mpfqgcc -march=k8 -O -fomit-frame-pointer2016102420161009
1434073mpfqgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016102420161009
1434347mpfqgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016102420161009
1442010mpfqgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016102420161009
1443000mpfqgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016102420161009
1443270mpfqgcc -Os -fomit-frame-pointer2016102420161009
1443566mpfqgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016102420161009
1443597mpfqgcc -m64 -Os -fomit-frame-pointer2016102420161009
1443674mpfqgcc -march=barcelona -Os -fomit-frame-pointer2016102420161009
1443855mpfqgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016102420161009
1444208mpfqgcc -m64 -march=k8 -Os -fomit-frame-pointer2016102420161009
1444370mpfqgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016102420161009
1444378mpfqgcc -m64 -march=core2 -Os -fomit-frame-pointer2016102420161009
1444384mpfqgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016102420161009
1444401mpfqgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016102420161009
1444563mpfqgcc -march=k8 -Os -fomit-frame-pointer2016102420161009
1444788mpfqgcc -fno-schedule-insns -Os -fomit-frame-pointer2016102420161009
1445912mpfqgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016102420161009
1446299mpfqgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016102420161009
1446336mpfqgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016102420161009
1447637mpfqgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016102420161009
1447936mpfqgcc -march=nocona -Os -fomit-frame-pointer2016102420161009
1448119mpfqgcc -m64 -march=nocona -Os -fomit-frame-pointer2016102420161009
1448789mpfqgcc -funroll-loops -Os -fomit-frame-pointer2016102420161009
1450994mpfqgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016102420161009

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