Implementation notes: amd64, margaux, crypto_kem/edonk128k16n80nu4l6

Computer: margaux
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20171218
Operation: crypto_kem
Primitive: edonk128k16n80nu4l6
TimeImplementationCompilerBenchmark dateSUPERCOP version
41504553refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017122020171218
41523804refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017122020171218
41540238refgcc -O2 -fomit-frame-pointer2017122020171218
41569677refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017122020171218
41622120refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017122020171218
41623299refgcc -O3 -fomit-frame-pointer2017122020171218
41647275refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017122020171218
41650749refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017122020171218
41654403refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017122020171218
41665482refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017122020171218
41671440refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017122020171218
41672799refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017122020171218
41691897refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017122020171218
41698341refgcc -m64 -O3 -fomit-frame-pointer2017122020171218
41710644refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017122020171218
41722254refgcc -funroll-loops -O -fomit-frame-pointer2017122020171218
41723370refgcc -march=k8 -O -fomit-frame-pointer2017122020171218
41726223refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017122020171218
41727321refgcc -funroll-loops -O3 -fomit-frame-pointer2017122020171218
41731326refgcc -march=k8 -O2 -fomit-frame-pointer2017122020171218
41732910refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017122020171218
41735916refgcc -funroll-loops -O2 -fomit-frame-pointer2017122020171218
41741154refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017122020171218
41744628refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017122020171218
41762637refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017122020171218
41767155refgcc -fno-schedule-insns -O -fomit-frame-pointer2017122020171218
41769864refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017122020171218
41777910refgcc -march=k8 -O3 -fomit-frame-pointer2017122020171218
41788971refgcc -march=nocona -O2 -fomit-frame-pointer2017122020171218
41803677refgcc -march=nocona -O -fomit-frame-pointer2017122020171218
41819292refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017122020171218
41822991refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017122020171218
41829570refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017122020171218
41830182refclang -O3 -fomit-frame-pointer -Qunused-arguments2017122020171218
41831118refgcc -m64 -O2 -fomit-frame-pointer2017122020171218
41834205refgcc -m64 -march=k8 -O -fomit-frame-pointer2017122020171218
41839596refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017122020171218
41862447refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017122020171218
41863185refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017122020171218
41870817refgcc -m64 -march=core2 -O -fomit-frame-pointer2017122020171218
41871969refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017122020171218
41910624refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017122020171218
41955219refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017122020171218
41978583refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017122020171218
42012927refgcc -m64 -O -fomit-frame-pointer2017122020171218
42035508refgcc -march=nocona -O3 -fomit-frame-pointer2017122020171218
42088455refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017122020171218
42199992refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017122020171218
42351975refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017122020171218
42408351refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017122020171218
42411924refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017122020171218
42522408refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017122020171218
42524748refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017122020171218
42535701refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017122020171218
42543531refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017122020171218
42584958refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017122020171218
42613713refgcc -m64 -Os -fomit-frame-pointer2017122020171218
42623280refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017122020171218
42629517refgcc -funroll-loops -Os -fomit-frame-pointer2017122020171218
42656553refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017122020171218
42696711refgcc -Os -fomit-frame-pointer2017122020171218
42705198refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017122020171218
42812415refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017122020171218
42857442refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017122020171218
42952185refgcc -march=nocona -Os -fomit-frame-pointer2017122020171218
43016076refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017122020171218
43212006refcc2017122020171218
43243920refgcc2017122020171218
43461477refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017122020171218
44895078refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017122020171218
45240399refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017122020171218
45641484refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017122020171218
45776655refgcc -O -fomit-frame-pointer2017122020171218
45815724refgcc -m64 -march=nocona -O -fomit-frame-pointer2017122020171218
45934587refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017122020171218
46485810refgcc -funroll-loops2017122020171218
46656612refgcc -march=k8 -Os -fomit-frame-pointer2017122020171218

Test failure

Implementation: crypto_kem/edonk128k16n80nu4l6/ref
Compiler: gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer
error 111
crypto_kem_dec returns nonzero

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer ref
gcc -march=barcelona -O2 -fomit-frame-pointer ref
gcc -march=barcelona -O3 -fomit-frame-pointer ref
gcc -march=barcelona -O -fomit-frame-pointer ref
gcc -march=barcelona -Os -fomit-frame-pointer ref

Test failure

Implementation: crypto_kem/edonk128k16n80nu4l6/ref
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
error 111
crypto_kem_dec returns nonzero
error 111
crypto_kem_dec returns nonzero

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer ref
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer ref
gcc -m64 -march=barcelona -O -fomit-frame-pointer ref
gcc -m64 -march=barcelona -Os -fomit-frame-pointer ref

Test failure

Implementation: crypto_kem/edonk128k16n80nu4l6/ref
Compiler: gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O -fomit-frame-pointer ref
gcc -m64 -march=corei7 -Os -fomit-frame-pointer ref

Compiler output

Implementation: crypto_kem/edonk128k16n80nu4l6/ref
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
dec.c: dec.c:714:89: warning: for loop has empty body [-Wempty-body]
dec.c: for(i=0; i dec.c: ^
dec.c: dec.c:714:89: note: put the semicolon on a separate line to silence this warning
dec.c: dec.c:594:76: warning: for loop has empty body [-Wempty-body]
dec.c: for(i=0; i dec.c: ^
dec.c: dec.c:594:76: note: put the semicolon on a separate line to silence this warning
dec.c: dec.c:599:56: warning: for loop has empty body [-Wempty-body]
dec.c: for(i=0; i dec.c: ^
dec.c: dec.c:599: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-20171218/supercop-data/margaux/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: 6, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -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