Implementation notes: amd64, h3neo, crypto_dh/surf127eps

Computer: h3neo
Architecture: amd64
CPU ID: AuthenticAMD-00100f63-078bfbff
SUPERCOP version: 20170105
Operation: crypto_dh
Primitive: surf127eps
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1160670? ? ?? ? ?mpfqgcc_-march=nocona_-O3_-fomit-frame-pointer2016111320161009
1160684? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2016111320161009
1166885? ? ?? ? ?mpfqclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016111320161009
1167004? ? ?? ? ?mpfqclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016111320161009
1167115? ? ?? ? ?mpfqclang_-O3_-fomit-frame-pointer_-Qunused-arguments2016111320161009
1167599? ? ?? ? ?mpfqclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016111320161009
1168671? ? ?? ? ?mpfqclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016111320161009
1169375? ? ?? ? ?mpfqclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2016111320161009
1175725? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2016111320161009
1176528? ? ?? ? ?mpfqgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2016111320161009
1176803? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2016111320161009
1176846? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2016111320161009
1177034? ? ?? ? ?mpfqgcc_-funroll-loops_-O2_-fomit-frame-pointer2016111320161009
1177765? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2016111320161009
1178553? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2016111320161009
1183532? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2016111320161009
1184016? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2016111320161009
1184781? ? ?? ? ?mpfqgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2016111320161009
1184995? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2016111320161009
1185412? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2016111320161009
1186493? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2016111320161009
1187762? ? ?? ? ?mpfqgcc_-march=nocona_-O2_-fomit-frame-pointer2016111320161009
1188635? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2016111320161009
1188691? ? ?? ? ?mpfqgcc_-funroll-loops_-O3_-fomit-frame-pointer2016111320161009
1189021? ? ?? ? ?mpfqgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2016111320161009
1189171? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2016111320161009
1189177? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2016111320161009
1189621? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2016111320161009
1190045? ? ?? ? ?mpfqgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2016111320161009
1190163? ? ?? ? ?mpfqgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2016111320161009
1190284? ? ?? ? ?mpfqgcc_-march=k8_-O3_-fomit-frame-pointer2016111320161009
1190323? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2016111320161009
1190400? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2016111320161009
1190746? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2016111320161009
1191166? ? ?? ? ?mpfqgcc_-march=barcelona_-O3_-fomit-frame-pointer2016111320161009
1191258? ? ?? ? ?mpfqgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2016111320161009
1191445? ? ?? ? ?mpfqgcc_-m64_-O2_-fomit-frame-pointer2016111320161009
1191760? ? ?? ? ?mpfqgcc_-O2_-fomit-frame-pointer2016111320161009
1191863? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2016111320161009
1193134? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2016111320161009
1199260? ? ?? ? ?mpfqgcc_-m64_-O3_-fomit-frame-pointer2016111320161009
1199484? ? ?? ? ?mpfqgcc_-march=barcelona_-O2_-fomit-frame-pointer2016111320161009
1199514? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2016111320161009
1199960? ? ?? ? ?mpfqgcc_-O3_-fomit-frame-pointer2016111320161009
1200990? ? ?? ? ?mpfqgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2016111320161009
1201527? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2016111320161009
1203818? ? ?? ? ?mpfqgcc_-march=k8_-O2_-fomit-frame-pointer2016111320161009
1204009? ? ?? ? ?mpfqgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2016111320161009
1208860? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2016111320161009
1218303? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2016111320161009
1220001? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2016111320161009
1220226? ? ?? ? ?mpfqgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2016111320161009
1220791? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2016111320161009
1220931? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2016111320161009
1221574? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2016111320161009
1222577? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2016111320161009
1225666? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2016111320161009
1226897? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2016111320161009
1227629? ? ?? ? ?mpfqgcc_-funroll-loops_-O_-fomit-frame-pointer2016111320161009
1234324? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2016111320161009
1235830? ? ?? ? ?mpfqgcc_-O_-fomit-frame-pointer2016111320161009
1237304? ? ?? ? ?mpfqgcc_-m64_-O_-fomit-frame-pointer2016111320161009
1245245? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2016111320161009
1246460? ? ?? ? ?mpfqgcc_-march=nocona_-O_-fomit-frame-pointer2016111320161009
1246840? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2016111320161009
1247068? ? ?? ? ?mpfqgcc_-m64_-march=core2_-O_-fomit-frame-pointer2016111320161009
1248308? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2016111320161009
1248490? ? ?? ? ?mpfqgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2016111320161009
1248605? ? ?? ? ?mpfqgcc_-m64_-march=k8_-O_-fomit-frame-pointer2016111320161009
1248767? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2016111320161009
1250452? ? ?? ? ?mpfqgcc_-march=barcelona_-O_-fomit-frame-pointer2016111320161009
1250814? ? ?? ? ?mpfqgcc_-march=k8_-O_-fomit-frame-pointer2016111320161009
1252147? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2016111320161009
1252775? ? ?? ? ?mpfqgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2016111320161009
1433175? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2016111320161009
1435288? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2016111320161009
1442961? ? ?? ? ?mpfqgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2016111320161009
1444150? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2016111320161009
1445508? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2016111320161009
1446634? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2016111320161009
1447417? ? ?? ? ?mpfqgcc_-funroll-loops_-Os_-fomit-frame-pointer2016111320161009
1448489? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2016111320161009
1448659? ? ?? ? ?mpfqgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2016111320161009
1449538? ? ?? ? ?mpfqgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2016111320161009
1449658? ? ?? ? ?mpfqgcc_-Os_-fomit-frame-pointer2016111320161009
1449692? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2016111320161009
1449910? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2016111320161009
1450722? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2016111320161009
1451201? ? ?? ? ?mpfqgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2016111320161009
1451263? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2016111320161009
1453142? ? ?? ? ?mpfqgcc_-march=k8_-Os_-fomit-frame-pointer2016111320161009
1453364? ? ?? ? ?mpfqgcc_-m64_-Os_-fomit-frame-pointer2016111320161009
1453468? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2016111320161009
1453923? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2016111320161009
1454376? ? ?? ? ?mpfqgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2016111320161009
1455115? ? ?? ? ?mpfqgcc_-march=barcelona_-Os_-fomit-frame-pointer2016111320161009
1456385? ? ?? ? ?mpfqgcc_-march=nocona_-Os_-fomit-frame-pointer2016111320161009
1457255? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2016111320161009

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