Implementation notes: amd64, calvin, crypto_kem/edonk128ref

Computer: calvin
Architecture: amd64
CPU ID: AuthenticAMD-00600f20-178bfbff
SUPERCOP version: 20171218
Operation: crypto_kem
Primitive: edonk128ref
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
37280557? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017122720171218
37355512? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017122720171218
37375080? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017122720171218
37375997? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017122720171218
37380303? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017122720171218
37384264? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017122720171218
37411554? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017122720171218
37416889? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2017122720171218
37421288? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2017122720171218
37428360? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017122720171218
37428782? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017122720171218
37429250? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017122720171218
37433384? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017122720171218
37439712? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017122720171218
37443278? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017122720171218
37451996? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2017122720171218
37473517? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017122720171218
37486227? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2017122720171218
37491150? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017122720171218
37495148? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017122720171218
37500780? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017122720171218
37509542? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017122720171218
37526219? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017122720171218
37535846? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017122720171218
37540460? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017122720171218
37570499? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2017122720171218
37578308? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2017122720171218
37610630? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017122720171218
37630145? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017122720171218
37635960? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017122720171218
37639894? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017122720171218
37650320? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017122720171218
37651806? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017122720171218
37652292? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2017122720171218
37660872? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2017122720171218
37665252? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017122720171218
37677583? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017122720171218
37685333? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2017122720171218
37690127? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017122720171218
37692237? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017122720171218
37693229? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017122720171218
37701562? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017122720171218
37709486? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017122720171218
37715302? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017122720171218
37746593? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2017122720171218
37746927? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017122720171218
37747014? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017122720171218
37748070? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2017122720171218
37748861? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017122720171218
37754991? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2017122720171218
37759489? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017122720171218
37760118? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2017122720171218
37761093? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017122720171218
37769038? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2017122720171218
37772103? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2017122720171218
37780092? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2017122720171218
37803838? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017122720171218
37807217? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2017122720171218
37808769? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017122720171218
37814901? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017122720171218
37859681? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017122720171218
37866017? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2017122720171218
37873235? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2017122720171218
37884748? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017122720171218
37888274? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017122720171218
37901965? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2017122720171218
37910910? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017122720171218
37951776? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2017122720171218
37960313? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017122720171218
37963961? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2017122720171218
37975489? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017122720171218
37985922? ? ?? ? ?refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017122720171218
37989903? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017122720171218
38009130? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017122720171218
38014967? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017122720171218
38036499? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017122720171218
38036756? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017122720171218
38124484? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017122720171218
38152238? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017122720171218
38265181? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2017122720171218
38279205? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2017122720171218
38350167? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017122720171218
38363643? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017122720171218
38376834? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2017122720171218
38390442? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017122720171218
38423327? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017122720171218
38429476? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017122720171218
38442849? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017122720171218
38459585? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017122720171218
38468228? ? ?? ? ?refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017122720171218
38482614? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2017122720171218
38520701? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017122720171218
38555075? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2017122720171218
38555505? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017122720171218
38559156? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017122720171218
38576011? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017122720171218
38640704? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017122720171218
38780181? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017122720171218
38801994? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017122720171218
38814725? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017122720171218
38819829? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2017122720171218
38835999? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017122720171218
38925302? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017122720171218
38936342? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2017122720171218
38963162? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017122720171218
38968712? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017122720171218
38986260? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017122720171218
39055650? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017122720171218
39273688? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017122720171218
39483670? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017122720171218
39604406? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017122720171218
39882416? ? ?? ? ?refgcc2017122720171218
39994892? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017122720171218
40100239? ? ?? ? ?refcc2017122720171218
40360379? ? ?? ? ?refgcc_-funroll-loops2017122720171218

Test failure

Implementation: crypto_kem/edonk128ref/ref
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 ref
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer ref

Compiler output

Implementation: crypto_kem/edonk128ref/ref
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
dec.c: dec.c:713:89: warning: for loop has empty body [-Wempty-body]
dec.c: for(i=0; i<(1<<(ErrorBasisDimension+1))+2; i++) Kclear(allcandidates[i]);
dec.c: ^
dec.c: dec.c:713:89: note: put the semicolon on a separate line to silence this warning
dec.c: dec.c:593:76: warning: for loop has empty body [-Wempty-body]
dec.c: for(i=0; i<(1<<(ErrorBasisDimension+1))+2; i++) Kinit(allcandidates[i]);
dec.c: ^
dec.c: dec.c:593:76: note: put the semicolon on a separate line to silence this warning
dec.c: dec.c:598:56: warning: for loop has empty body [-Wempty-body]
dec.c: for(i=0; i<NrColumns; i++) Kinit(Ciphertext.cph[i]);
dec.c: ^
dec.c: dec.c:598:56: note: put the semicolon on a separate line to silence this warning
dec.c: 3 warnings generated.
mpfq_2_128.c: mpfq_2_128.c:154:35: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
mpfq_2_128.c: int ret = mpn_set_str(zz, tmp, len, k->io_type);
mpfq_2_128.c: ^~~
mpfq_2_128.c: /home/djb/benchmarking/supercop-20171218/supercop-data/calvin/amd64/include/gmp.h:1588:68: note: passing argument to parameter here
mpfq_2_128.c: __GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int);
mpfq_2_128.c: ^
mpfq_2_128.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref