Implementation notes: amd64, oki, crypto_dh/surf127eps

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_dh
Primitive: surf127eps
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
742382? ? ?? ? ?mpfqgcc_-m64_-O3_-fomit-frame-pointer2019011020181123
745940? ? ?? ? ?mpfqclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019011020181123
747020? ? ?? ? ?mpfqclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011020181123
747138? ? ?? ? ?mpfqclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011020181123
747398? ? ?? ? ?mpfqclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011020181123
748196? ? ?? ? ?mpfqclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011020181123
748482? ? ?? ? ?mpfqclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019011020181123
748502? ? ?? ? ?mpfqclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011020181123
749206? ? ?? ? ?mpfqclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011020181123
751322? ? ?? ? ?mpfqgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011020181123
753962? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
754098? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011020181123
754558? ? ?? ? ?mpfqgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011020181123
754606? ? ?? ? ?mpfqgcc_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
755256? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011020181123
755654? ? ?? ? ?mpfqgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011020181123
755892? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019011020181123
756010? ? ?? ? ?mpfqgcc_-funroll-loops_-O2_-fomit-frame-pointer2019011020181123
756044? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011020181123
756266? ? ?? ? ?mpfqgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011020181123
757056? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
757300? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
757792? ? ?? ? ?mpfqgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
757892? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
758180? ? ?? ? ?mpfqgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011020181123
758544? ? ?? ? ?mpfqgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011020181123
758600? ? ?? ? ?mpfqgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
758618? ? ?? ? ?mpfqgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019011020181123
758708? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011020181123
758746? ? ?? ? ?mpfqgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011020181123
758808? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019011020181123
758938? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011020181123
759052? ? ?? ? ?mpfqgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011020181123
759464? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011020181123
759508? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019011020181123
759594? ? ?? ? ?mpfqgcc_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
759652? ? ?? ? ?mpfqgcc_-m64_-O2_-fomit-frame-pointer2019011020181123
759876? ? ?? ? ?mpfqgcc_-march=k8_-O2_-fomit-frame-pointer2019011020181123
759942? ? ?? ? ?mpfqgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011020181123
760316? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011020181123
760438? ? ?? ? ?mpfqgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011020181123
760448? ? ?? ? ?mpfqgcc_-O2_-fomit-frame-pointer2019011020181123
760712? ? ?? ? ?mpfqgcc_-O3_-fomit-frame-pointer2019011020181123
760992? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011020181123
760998? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011020181123
761326? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011020181123
761340? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011020181123
762822? ? ?? ? ?mpfqgcc_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
763102? ? ?? ? ?mpfqgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
764018? ? ?? ? ?mpfqgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019011020181123
764080? ? ?? ? ?mpfqgcc_-funroll-loops_-O3_-fomit-frame-pointer2019011020181123
764248? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019011020181123
764438? ? ?? ? ?mpfqgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
764626? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
764830? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011020181123
764848? ? ?? ? ?mpfqgcc_-march=k8_-O3_-fomit-frame-pointer2019011020181123
765298? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019011020181123
765810? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
766102? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019011020181123
766530? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
767378? ? ?? ? ?mpfqgcc_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
768000? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
782396? ? ?? ? ?mpfqgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
783104? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
784256? ? ?? ? ?mpfqgcc_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
784952? ? ?? ? ?mpfqgcc_-march=k8_-O_-fomit-frame-pointer2019011020181123
785058? ? ?? ? ?mpfqgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019011020181123
785558? ? ?? ? ?mpfqgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
787698? ? ?? ? ?mpfqgcc_-funroll-loops_-O_-fomit-frame-pointer2019011020181123
788360? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011020181123
788592? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019011020181123
789074? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011020181123
789514? ? ?? ? ?mpfqgcc_-O_-fomit-frame-pointer2019011020181123
789522? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011020181123
789628? ? ?? ? ?mpfqgcc_-m64_-O_-fomit-frame-pointer2019011020181123
789750? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019011020181123
789802? ? ?? ? ?mpfqgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011020181123
790022? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019011020181123
790340? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019011020181123
791818? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019011020181123
792316? ? ?? ? ?mpfqgcc_-march=nocona_-O_-fomit-frame-pointer2019011020181123
793544? ? ?? ? ?mpfqgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011020181123
793584? ? ?? ? ?mpfqgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011020181123
793764? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011020181123
793898? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011020181123
794210? ? ?? ? ?mpfqgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011020181123
794770? ? ?? ? ?mpfqgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011020181123
805440? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019011020181123
806300? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019011020181123
899942? ? ?? ? ?mpfqgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011020181123
900462? ? ?? ? ?mpfqgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011020181123
902726? ? ?? ? ?mpfqgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011020181123
902924? ? ?? ? ?mpfqgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011020181123
903034? ? ?? ? ?mpfqgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011020181123
903406? ? ?? ? ?mpfqgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011020181123
903422? ? ?? ? ?mpfqgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019011020181123
903428? ? ?? ? ?mpfqgcc_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
903490? ? ?? ? ?mpfqgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
903538? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011020181123
903928? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
903960? ? ?? ? ?mpfqgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019011020181123
904002? ? ?? ? ?mpfqgcc_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
904086? ? ?? ? ?mpfqgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
904090? ? ?? ? ?mpfqgcc_-march=k8_-Os_-fomit-frame-pointer2019011020181123
904260? ? ?? ? ?mpfqgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011020181123
904354? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019011020181123
904394? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
904500? ? ?? ? ?mpfqgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
904724? ? ?? ? ?mpfqgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
905144? ? ?? ? ?mpfqgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011020181123
905162? ? ?? ? ?mpfqgcc_-funroll-loops_-Os_-fomit-frame-pointer2019011020181123
905446? ? ?? ? ?mpfqgcc_-m64_-Os_-fomit-frame-pointer2019011020181123
905478? ? ?? ? ?mpfqgcc_-Os_-fomit-frame-pointer2019011020181123
905554? ? ?? ? ?mpfqgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011020181123
905666? ? ?? ? ?mpfqgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019011020181123
905894? ? ?? ? ?mpfqgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011020181123

Compiler output

Implementation: mpfq
Security model: unknown
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: 1, namely:
CompilerImplementations
cc mpfq

Compiler output

Implementation: mpfq
Security model: unknown
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=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments mpfq
clang -O3 -fwrapv -mavx2 -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 -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

Compiler output

Implementation: mpfq
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -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.
surf127eps.c: In file included from surf127eps.c:18:
surf127eps.c: In file included from ./mpfq_p_127_735.h:5:
surf127eps.c: ./x86_64/mpfq_p_127_735.h:361:4: error: inline assembly requires more registers than available
surf127eps.c: " movq %0, %%rcx\n"
surf127eps.c: ^
surf127eps.c: ./x86_64/mpfq_p_127_735.h:361:4: error: inline assembly requires more registers than available
surf127eps.c: ./x86_64/mpfq_p_127_735.h:361:4: error: inline assembly requires more registers than available
surf127eps.c: ./x86_64/mpfq_p_127_735.h:361:4: error: inline assembly requires more registers than available
surf127eps.c: 4 errors generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments mpfq
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments mpfq

Compiler output

Implementation: mpfq
Security model: unknown
Compiler: gcc
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: 2, namely:
CompilerImplementations
gcc mpfq
gcc -funroll-loops mpfq