Implementation notes: amd64, bolero, crypto_kem/edonk128k08n72nu8l8

Computer: bolero
Architecture: amd64
CPU ID: GenuineIntel-000406f1-bfebfbff
SUPERCOP version: 20181209
Operation: crypto_kem
Primitive: edonk128k08n72nu8l8
TimeImplementationCompilerBenchmark dateSUPERCOP version
506531440refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018101620180818
506714684refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018101620180818
506977136refgcc -O3 -fomit-frame-pointer2018101620180818
507466140refgcc -m64 -O3 -fomit-frame-pointer2018101620180818
507685472refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018101620180818
507755476refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018101620180818
507821596refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018101620180818
507908440refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018101620180818
508006472refgcc -funroll-loops -O3 -fomit-frame-pointer2018101620180818
508144088refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018101620180818
508211792refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018101620180818
508240948refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2018101620180818
508404584refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018101620180818
508420888refgcc -march=barcelona -O2 -fomit-frame-pointer2018101620180818
508498564refclang -O3 -fomit-frame-pointer -Qunused-arguments2018101620180818
508646148refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018101620180818
508674296refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018101620180818
508695160refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018101620180818
508716160refgcc -funroll-loops -m64 -O -fomit-frame-pointer2018101620180818
508764512refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018101620180818
508796476refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018101620180818
508835784refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018101620180818
508878064refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018101620180818
508931044refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018101620180818
508953848refgcc -march=nocona -O3 -fomit-frame-pointer2018101620180818
508985640refgcc -march=barcelona -O3 -fomit-frame-pointer2018101620180818
509029428refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018101620180818
509072520refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018101620180818
509172224refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018101620180818
509194472refgcc -march=k8 -O2 -fomit-frame-pointer2018101620180818
509243512refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018101620180818
509291460refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018101620180818
509372800refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018101620180818
509398856refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018101620180818
509456044refgcc -O -fomit-frame-pointer2018101620180818
509478012refgcc -m64 -O -fomit-frame-pointer2018101620180818
509584424refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018101620180818
509633648refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018101620180818
509712240refgcc -fno-schedule-insns -O -fomit-frame-pointer2018101620180818
509731604refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018101620180818
509749812refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018101620180818
509755108refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018101620180818
509771492refgcc -m64 -march=corei7 -O -fomit-frame-pointer2018101620180818
509792140refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018101620180818
509806496refgcc -march=k8 -O -fomit-frame-pointer2018101620180818
509816476refgcc -O2 -fomit-frame-pointer2018101620180818
509840308refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018101620180818
509846352refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018101620180818
509858988refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018101620180818
509876900refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018101620180818
509921448refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018101620180818
509977624refgcc -m64 -march=k8 -O -fomit-frame-pointer2018101620180818
510024684refgcc -m64 -O2 -fomit-frame-pointer2018101620180818
510028280refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018101620180818
510043248refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018101620180818
510121984refgcc -m64 -march=core2 -O -fomit-frame-pointer2018101620180818
510139104refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018101620180818
510158352refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018101620180818
510199736refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018101620180818
510324412refgcc -funroll-loops -O2 -fomit-frame-pointer2018101620180818
510357560refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018101620180818
510450588refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018101620180818
510697552refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018101620180818
510698012refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018101620180818
510711344refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018101620180818
510815896refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018101620180818
510839468refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018101620180818
510893516refgcc -m64 -march=nocona -O -fomit-frame-pointer2018101620180818
510896360refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018101620180818
510995364refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018101620180818
511025140refgcc -funroll-loops -O -fomit-frame-pointer2018101620180818
511099356refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018101620180818
511120648refgcc -march=barcelona -O -fomit-frame-pointer2018101620180818
511217976refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018101620180818
511261908refgcc -m64 -march=barcelona -O -fomit-frame-pointer2018101620180818
511381540refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018101620180818
511874572refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018101620180818
511940176refgcc -march=nocona -O -fomit-frame-pointer2018101620180818
512218820refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018101620180818
512319280refgcc -march=nocona -O2 -fomit-frame-pointer2018101620180818
512592596refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018101620180818
512680892refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018101620180818
512944428refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018101620180818
513032336refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018101620180818
513155632refgcc -march=k8 -O3 -fomit-frame-pointer2018101620180818
513281428refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018101620180818
513410204refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018101620180818
515683196refgcc -funroll-loops2018101620180818
515831540refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018101620180818
516133064refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018101620180818
517163496refgcc -fno-schedule-insns -Os -fomit-frame-pointer2018101620180818
517224156refgcc -m64 -Os -fomit-frame-pointer2018101620180818
517502672refgcc -m64 -march=k8 -Os -fomit-frame-pointer2018101620180818
517638160refgcc -Os -fomit-frame-pointer2018101620180818
518089508refgcc -march=k8 -Os -fomit-frame-pointer2018101620180818
518157360refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018101620180818
518397456refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018101620180818
518633716refgcc2018101620180818
518692644refgcc -march=barcelona -Os -fomit-frame-pointer2018101620180818
519870952refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018101620180818
519886796refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018101620180818
520051944refgcc -m64 -march=nocona -Os -fomit-frame-pointer2018101620180818
520166708refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018101620180818
520235832refgcc -m64 -march=core2 -Os -fomit-frame-pointer2018101620180818
520417852refgcc -march=nocona -Os -fomit-frame-pointer2018101620180818
520462736refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018101620180818
520559884refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018101620180818
520649028refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018101620180818
520811720refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018101620180818
521043976refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018101620180818
521221456refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018101620180818
521310376refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018101620180818
521979320refcc2018101620180818
522360032refgcc -funroll-loops -Os -fomit-frame-pointer2018101620180818
522797372refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018101620180818
522981624refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018101620180818
524017992refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018101620180818
524481048refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018101620180818
524847952refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018101620180818
534687628refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018101620180818
538731604refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018101620180818

Compiler output

Implementation: crypto_kem/edonk128k08n72nu8l8/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 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 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 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->gt;io_type);
mpfq_2_128.c: ^~~
mpfq_2_128.c: /home/djb/benchmarking/supercop-20180818/supercop-data/bolero/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: 10, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx2 -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