Implementation notes: amd64, calvin, crypto_dh/surf127eps

Computer: calvin
Architecture: amd64
CPU ID: AuthenticAMD-00600f20-178bfbff
SUPERCOP version: 20171218
Operation: crypto_dh
Primitive: surf127eps
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1494012? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017111520171020
1498213? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017111520171020
1499071? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017111520171020
1503509? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017111520171020
1503647? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017111520171020
1504048? ? ?? ? ?mpfqgcc_-funroll-loops_-O2_-fomit-frame-pointer2017111520171020
1504833? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017111520171020
1505078? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017111520171020
1505619? ? ?? ? ?mpfqgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017111520171020
1505657? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017111520171020
1508806? ? ?? ? ?mpfqgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017111520171020
1509282? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017111520171020
1509441? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017111520171020
1509482? ? ?? ? ?mpfqgcc_-march=barcelona_-O2_-fomit-frame-pointer2017111520171020
1509710? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017111520171020
1509901? ? ?? ? ?mpfqgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017111520171020
1509921? ? ?? ? ?mpfqgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017111520171020
1510069? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017111520171020
1510281? ? ?? ? ?mpfqgcc_-O2_-fomit-frame-pointer2017111520171020
1510436? ? ?? ? ?mpfqgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017111520171020
1510826? ? ?? ? ?mpfqgcc_-march=barcelona_-O3_-fomit-frame-pointer2017111520171020
1511388? ? ?? ? ?mpfqgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017111520171020
1511597? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017111520171020
1511808? ? ?? ? ?mpfqgcc_-m64_-O2_-fomit-frame-pointer2017111520171020
1512082? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017111520171020
1512727? ? ?? ? ?mpfqgcc_-funroll-loops_-O3_-fomit-frame-pointer2017111520171020
1512761? ? ?? ? ?mpfqgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017111520171020
1512819? ? ?? ? ?mpfqgcc_-O3_-fomit-frame-pointer2017111520171020
1513074? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017111520171020
1513156? ? ?? ? ?mpfqgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017111520171020
1513165? ? ?? ? ?mpfqgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2017111520171020
1513433? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017111520171020
1513477? ? ?? ? ?mpfqgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017111520171020
1513489? ? ?? ? ?mpfqgcc_-m64_-O3_-fomit-frame-pointer2017111520171020
1513570? ? ?? ? ?mpfqgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017111520171020
1514057? ? ?? ? ?mpfqgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017111520171020
1514194? ? ?? ? ?mpfqgcc_-march=k8_-O3_-fomit-frame-pointer2017111520171020
1514323? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017111520171020
1516449? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017111520171020
1516927? ? ?? ? ?mpfqgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017111520171020
1517289? ? ?? ? ?mpfqgcc_-march=k8_-O2_-fomit-frame-pointer2017111520171020
1517737? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017111520171020
1520017? ? ?? ? ?mpfqclang_-O3_-fomit-frame-pointer_-Qunused-arguments2017111520171020
1520884? ? ?? ? ?mpfqgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017111520171020
1521425? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017111520171020
1522867? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017111520171020
1523201? ? ?? ? ?mpfqclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017111520171020
1523440? ? ?? ? ?mpfqclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017111520171020
1524383? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017111520171020
1524529? ? ?? ? ?mpfqclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017111520171020
1524614? ? ?? ? ?mpfqclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017111520171020
1524918? ? ?? ? ?mpfqclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017111520171020
1525486? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017111520171020
1526702? ? ?? ? ?mpfqclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2017111520171020
1526854? ? ?? ? ?mpfqclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017111520171020
1527511? ? ?? ? ?mpfqgcc_-march=nocona_-O3_-fomit-frame-pointer2017111520171020
1528352? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017111520171020
1529140? ? ?? ? ?mpfqgcc_-march=nocona_-O2_-fomit-frame-pointer2017111520171020
1529428? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017111520171020
1530740? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017111520171020
1554557? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017111520171020
1560340? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017111520171020
1560517? ? ?? ? ?mpfqgcc_-march=k8_-O_-fomit-frame-pointer2017111520171020
1561695? ? ?? ? ?mpfqgcc_-m64_-march=k8_-O_-fomit-frame-pointer2017111520171020
1569343? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017111520171020
1572044? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017111520171020
1572845? ? ?? ? ?mpfqgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017111520171020
1574894? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017111520171020
1575805? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017111520171020
1576038? ? ?? ? ?mpfqgcc_-O_-fomit-frame-pointer2017111520171020
1576658? ? ?? ? ?mpfqgcc_-m64_-O_-fomit-frame-pointer2017111520171020
1576701? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017111520171020
1577116? ? ?? ? ?mpfqgcc_-funroll-loops_-O_-fomit-frame-pointer2017111520171020
1580623? ? ?? ? ?mpfqgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017111520171020
1580888? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017111520171020
1581009? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017111520171020
1582733? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017111520171020
1583391? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017111520171020
1583428? ? ?? ? ?mpfqgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017111520171020
1584324? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017111520171020
1584498? ? ?? ? ?mpfqgcc_-m64_-march=core2_-O_-fomit-frame-pointer2017111520171020
1584813? ? ?? ? ?mpfqgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017111520171020
1584969? ? ?? ? ?mpfqgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017111520171020
1585815? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017111520171020
1585899? ? ?? ? ?mpfqgcc_-march=nocona_-O_-fomit-frame-pointer2017111520171020
1587458? ? ?? ? ?mpfqgcc_-march=barcelona_-O_-fomit-frame-pointer2017111520171020
1805667? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017111520171020
1806104? ? ?? ? ?mpfqgcc_-funroll-loops_-Os_-fomit-frame-pointer2017111520171020
1806761? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017111520171020
1807619? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017111520171020
1807688? ? ?? ? ?mpfqgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017111520171020
1808386? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017111520171020
1808821? ? ?? ? ?mpfqgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017111520171020
1809168? ? ?? ? ?mpfqgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017111520171020
1810335? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017111520171020
1810537? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017111520171020
1811699? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017111520171020
1811699? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017111520171020
1812657? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017111520171020
1812783? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017111520171020
1812793? ? ?? ? ?mpfqgcc_-m64_-Os_-fomit-frame-pointer2017111520171020
1812833? ? ?? ? ?mpfqgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017111520171020
1813765? ? ?? ? ?mpfqgcc_-Os_-fomit-frame-pointer2017111520171020
1813932? ? ?? ? ?mpfqgcc_-march=k8_-Os_-fomit-frame-pointer2017111520171020
1813935? ? ?? ? ?mpfqgcc_-march=nocona_-Os_-fomit-frame-pointer2017111520171020
1814491? ? ?? ? ?mpfqgcc_-march=barcelona_-Os_-fomit-frame-pointer2017111520171020
1815923? ? ?? ? ?mpfqgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017111520171020
1820336? ? ?? ? ?mpfqgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017111520171020
1820714? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017111520171020
1821170? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017111520171020
1821718? ? ?? ? ?mpfqgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017111520171020
1822232? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017111520171020

Test failure

Implementation: crypto_dh/surf127eps/mpfq
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer mpfq
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer mpfq
gcc -m64 -march=core-avx2 -Os -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: 8, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments mpfq
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments mpfq
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments mpfq
clang -O3 -fwrapv -mavx -maes -mpclmul -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