Implementation notes: amd64, oki, crypto_sign/donald2048

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_sign
Primitive: donald2048

Test failure

Implementation: cryptopp
Security model: unknown
Compiler: g++
error 111

Number of similar (compiler,implementation) pairs: 73, namely:
CompilerImplementations
g++ cryptopp
g++ -O2 -fomit-frame-pointer cryptopp
g++ -O3 -fomit-frame-pointer cryptopp
g++ -O -fomit-frame-pointer cryptopp
g++ -Os -fomit-frame-pointer cryptopp
g++ -fno-schedule-insns -O2 -fomit-frame-pointer cryptopp
g++ -fno-schedule-insns -O3 -fomit-frame-pointer cryptopp
g++ -fno-schedule-insns -O -fomit-frame-pointer cryptopp
g++ -fno-schedule-insns -Os -fomit-frame-pointer cryptopp
g++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer cryptopp
g++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer cryptopp
g++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer cryptopp
g++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer cryptopp
g++ -m64 -O2 -fomit-frame-pointer cryptopp
g++ -m64 -O3 -fomit-frame-pointer cryptopp
g++ -m64 -O -fomit-frame-pointer cryptopp
g++ -m64 -Os -fomit-frame-pointer cryptopp
g++ -m64 -march=core-avx-i -O2 -fomit-frame-pointer cryptopp
g++ -m64 -march=core-avx-i -O3 -fomit-frame-pointer cryptopp
g++ -m64 -march=core-avx-i -O -fomit-frame-pointer cryptopp
g++ -m64 -march=core-avx-i -Os -fomit-frame-pointer cryptopp
g++ -m64 -march=core-avx2 -O2 -fomit-frame-pointer cryptopp
g++ -m64 -march=core-avx2 -O3 -fomit-frame-pointer cryptopp
g++ -m64 -march=core-avx2 -O -fomit-frame-pointer cryptopp
g++ -m64 -march=core-avx2 -Os -fomit-frame-pointer cryptopp
g++ -m64 -march=core2 -O2 -fomit-frame-pointer cryptopp
g++ -m64 -march=core2 -O3 -fomit-frame-pointer cryptopp
g++ -m64 -march=core2 -O -fomit-frame-pointer cryptopp
g++ -m64 -march=core2 -Os -fomit-frame-pointer cryptopp
g++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer cryptopp
g++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer cryptopp
g++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer cryptopp
g++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer cryptopp
g++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer cryptopp
g++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer cryptopp
g++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer cryptopp
g++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer cryptopp
g++ -m64 -march=corei7-avx -O2 -fomit-frame-pointer cryptopp
g++ -m64 -march=corei7-avx -O3 -fomit-frame-pointer cryptopp
g++ -m64 -march=corei7-avx -O -fomit-frame-pointer cryptopp
g++ -m64 -march=corei7-avx -Os -fomit-frame-pointer cryptopp
g++ -m64 -march=corei7 -O2 -fomit-frame-pointer cryptopp
g++ -m64 -march=corei7 -O3 -fomit-frame-pointer cryptopp
g++ -m64 -march=corei7 -O -fomit-frame-pointer cryptopp
g++ -m64 -march=corei7 -Os -fomit-frame-pointer cryptopp
g++ -m64 -march=k8 -O2 -fomit-frame-pointer cryptopp
g++ -m64 -march=k8 -O3 -fomit-frame-pointer cryptopp
g++ -m64 -march=k8 -O -fomit-frame-pointer cryptopp
g++ -m64 -march=k8 -Os -fomit-frame-pointer cryptopp
g++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer cryptopp
g++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer cryptopp
g++ -m64 -march=native -mtune=native -O -fomit-frame-pointer cryptopp
g++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer cryptopp
g++ -m64 -march=nocona -O2 -fomit-frame-pointer cryptopp
g++ -m64 -march=nocona -O3 -fomit-frame-pointer cryptopp
g++ -m64 -march=nocona -O -fomit-frame-pointer cryptopp
g++ -m64 -march=nocona -Os -fomit-frame-pointer cryptopp
g++ -march=barcelona -O2 -fomit-frame-pointer cryptopp
g++ -march=barcelona -O3 -fomit-frame-pointer cryptopp
g++ -march=barcelona -O -fomit-frame-pointer cryptopp
g++ -march=barcelona -Os -fomit-frame-pointer cryptopp
g++ -march=k8 -O2 -fomit-frame-pointer cryptopp
g++ -march=k8 -O3 -fomit-frame-pointer cryptopp
g++ -march=k8 -O -fomit-frame-pointer cryptopp
g++ -march=k8 -Os -fomit-frame-pointer cryptopp
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv cryptopp
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv cryptopp
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv cryptopp
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv cryptopp
g++ -march=nocona -O2 -fomit-frame-pointer cryptopp
g++ -march=nocona -O3 -fomit-frame-pointer cryptopp
g++ -march=nocona -O -fomit-frame-pointer cryptopp
g++ -march=nocona -Os -fomit-frame-pointer cryptopp

Test failure

Implementation: cryptopp
Security model: unknown
Compiler: g++ -m64 -march=barcelona -O2 -fomit-frame-pointer
error 111
error 111

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

Compiler output

Implementation: cryptopp
Security model: unknown
Compiler: clang++ -O3 -fomit-frame-pointer -Qunused-arguments
sign.cpp: In file included from sign.cpp:1:
sign.cpp: In file included from /home/benchmark/supercop-20181123/supercop-data/oki/amd64/include/cryptopp/dsa.h:9:
sign.cpp: In file included from /home/benchmark/supercop-20181123/supercop-data/oki/amd64/include/cryptopp/cryptlib.h:87:
sign.cpp: In file included from /home/benchmark/supercop-20181123/supercop-data/oki/amd64/include/cryptopp/stdcpp.h:13:
sign.cpp: In file included from /usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7/algorithm:62:
sign.cpp: In file included from /usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7/bits/stl_algo.h:59:
sign.cpp: In file included from /usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7/cstdlib:77:
sign.cpp: /usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7/bits/std_abs.h:101:3: error: unknown type name '__float128'
sign.cpp: __float128
sign.cpp: ^
sign.cpp: /usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7/bits/std_abs.h:102:7: error: unknown type name '__float128'
sign.cpp: abs(__float128 __x)
sign.cpp: ^
sign.cpp: 2 errors generated.

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang++ -O3 -fomit-frame-pointer -Qunused-arguments cryptopp
clang++ -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments cryptopp
clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments cryptopp
clang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments cryptopp
clang++ -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments cryptopp
clang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments cryptopp
clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments cryptopp
clang++ -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments cryptopp
clang++ -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments cryptopp
clang++ -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments cryptopp

Compiler output

Implementation: openssl
Security model: unknown
Compiler: cc
keypair.c: keypair.c: In function 'crypto_sign_donald2048_openssl_keypair':
keypair.c: keypair.c:18:4: error: dereferencing pointer to incomplete type
keypair.c: x->p = BN_new(); if (!x->p) goto error;
keypair.c: ^
keypair.c: keypair.c:18:26: error: dereferencing pointer to incomplete type
keypair.c: x->p = BN_new(); if (!x->p) goto error;
keypair.c: ^
keypair.c: keypair.c:19:4: error: dereferencing pointer to incomplete type
keypair.c: x->q = BN_new(); if (!x->q) goto error;
keypair.c: ^
keypair.c: keypair.c:19:26: error: dereferencing pointer to incomplete type
keypair.c: x->q = BN_new(); if (!x->q) goto error;
keypair.c: ^
keypair.c: keypair.c:20:4: error: dereferencing pointer to incomplete type
keypair.c: x->g = BN_new(); if (!x->g) goto error;
keypair.c: ^
keypair.c: keypair.c:20:26: error: dereferencing pointer to incomplete type
keypair.c: x->g = BN_new(); if (!x->g) goto error;
keypair.c: ^
keypair.c: keypair.c:22:38: error: dereferencing pointer to incomplete type
keypair.c: if (!BN_bin2bn(prime,sizeof prime,x->p)) goto error;
keypair.c: ^
keypair.c: keypair.c:23:42: error: dereferencing pointer to incomplete type
keypair.c: if (!BN_bin2bn(prime_q,sizeof prime_q,x->q)) goto error;
keypair.c: ^
keypair.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
cc openssl

Compiler output

Implementation: openssl
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
keypair.c: keypair.c:18:4: error: incomplete definition of type 'struct dsa_st'
keypair.c: x->p = BN_new(); if (!x->p) goto error;
keypair.c: ~^
keypair.c: /usr/local/include/openssl/ossl_typ.h:107:16: note: forward declaration of 'struct dsa_st'
keypair.c: typedef struct dsa_st DSA;
keypair.c: ^
keypair.c: keypair.c:18:26: error: incomplete definition of type 'struct dsa_st'
keypair.c: x->p = BN_new(); if (!x->p) goto error;
keypair.c: ~^
keypair.c: /usr/local/include/openssl/ossl_typ.h:107:16: note: forward declaration of 'struct dsa_st'
keypair.c: typedef struct dsa_st DSA;
keypair.c: ^
keypair.c: keypair.c:19:4: error: incomplete definition of type 'struct dsa_st'
keypair.c: x->q = BN_new(); if (!x->q) goto error;
keypair.c: ~^
keypair.c: /usr/local/include/openssl/ossl_typ.h:107:16: note: forward declaration of 'struct dsa_st'
keypair.c: typedef struct dsa_st DSA;
keypair.c: ^
keypair.c: keypair.c:19:26: error: incomplete definition of type 'struct dsa_st'
keypair.c: x->q = BN_new(); if (!x->q) goto error;
keypair.c: ~^
keypair.c: /usr/local/include/openssl/ossl_typ.h:107:16: note: forward declaration of 'struct dsa_st'
keypair.c: typedef struct dsa_st DSA;
keypair.c: ^
keypair.c: keypair.c:20:4: error: incomplete definition of type 'struct dsa_st'
keypair.c: ...

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments openssl
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments openssl
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments openssl
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments openssl
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments openssl
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments openssl
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments openssl
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments openssl
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments openssl
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments openssl

Compiler output

Implementation: openssl
Security model: unknown
Compiler: gcc
keypair.c: keypair.c: In function 'crypto_sign_donald2048_openssl_keypair':
keypair.c: keypair.c:18:4: error: dereferencing pointer to incomplete type 'DSA {aka struct dsa_st}'
keypair.c: x->p = BN_new(); if (!x->p) goto error;
keypair.c: ^~

Number of similar (compiler,implementation) pairs: 106, namely:
CompilerImplementations
gcc openssl
gcc -O2 -fomit-frame-pointer openssl
gcc -O3 -fomit-frame-pointer openssl
gcc -O -fomit-frame-pointer openssl
gcc -Os -fomit-frame-pointer openssl
gcc -fno-schedule-insns -O2 -fomit-frame-pointer openssl
gcc -fno-schedule-insns -O3 -fomit-frame-pointer openssl
gcc -fno-schedule-insns -O -fomit-frame-pointer openssl
gcc -fno-schedule-insns -Os -fomit-frame-pointer openssl
gcc -funroll-loops openssl
gcc -funroll-loops -O2 -fomit-frame-pointer openssl
gcc -funroll-loops -O3 -fomit-frame-pointer openssl
gcc -funroll-loops -O -fomit-frame-pointer openssl
gcc -funroll-loops -Os -fomit-frame-pointer openssl
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer openssl
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer openssl
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer openssl
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -O -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -Os -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer openssl
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer openssl
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer openssl
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer openssl
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer openssl
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer openssl
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer openssl
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer openssl
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer openssl
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer openssl
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer openssl
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer openssl
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer openssl
gcc -m64 -O2 -fomit-frame-pointer openssl
gcc -m64 -O3 -fomit-frame-pointer openssl
gcc -m64 -O -fomit-frame-pointer openssl
gcc -m64 -Os -fomit-frame-pointer openssl
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer openssl
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer openssl
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer openssl
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer openssl
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer openssl
gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer openssl
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer openssl
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer openssl
gcc -m64 -march=core2 -O2 -fomit-frame-pointer openssl
gcc -m64 -march=core2 -O3 -fomit-frame-pointer openssl
gcc -m64 -march=core2 -O -fomit-frame-pointer openssl
gcc -m64 -march=core2 -Os -fomit-frame-pointer openssl
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer openssl
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer openssl
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer openssl
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer openssl
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer openssl
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer openssl
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer openssl
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer openssl
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer openssl
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer openssl
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer openssl
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer openssl
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer openssl
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer openssl
gcc -m64 -march=corei7 -O -fomit-frame-pointer openssl
gcc -m64 -march=corei7 -Os -fomit-frame-pointer openssl
gcc -m64 -march=k8 -O2 -fomit-frame-pointer openssl
gcc -m64 -march=k8 -O3 -fomit-frame-pointer openssl
gcc -m64 -march=k8 -O -fomit-frame-pointer openssl
gcc -m64 -march=k8 -Os -fomit-frame-pointer openssl
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer openssl
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer openssl
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer openssl
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer openssl
gcc -m64 -march=nocona -O2 -fomit-frame-pointer openssl
gcc -m64 -march=nocona -O3 -fomit-frame-pointer openssl
gcc -m64 -march=nocona -O -fomit-frame-pointer openssl
gcc -m64 -march=nocona -Os -fomit-frame-pointer openssl
gcc -march=barcelona -O2 -fomit-frame-pointer openssl
gcc -march=barcelona -O3 -fomit-frame-pointer openssl
gcc -march=barcelona -O -fomit-frame-pointer openssl
gcc -march=barcelona -Os -fomit-frame-pointer openssl
gcc -march=k8 -O2 -fomit-frame-pointer openssl
gcc -march=k8 -O3 -fomit-frame-pointer openssl
gcc -march=k8 -O -fomit-frame-pointer openssl
gcc -march=k8 -Os -fomit-frame-pointer openssl
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv openssl
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv openssl
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv openssl
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv openssl
gcc -march=nocona -O2 -fomit-frame-pointer openssl
gcc -march=nocona -O3 -fomit-frame-pointer openssl
gcc -march=nocona -O -fomit-frame-pointer openssl
gcc -march=nocona -Os -fomit-frame-pointer openssl

Compiler output

Implementation: openssl
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
keypair.c: keypair.c: In function 'crypto_sign_donald2048_openssl_keypair':
keypair.c: keypair.c:18:4: error: dereferencing pointer to incomplete type 'DSA {aka struct dsa_st}'
keypair.c: x->p = BN_new(); if (!x->p) goto error;
keypair.c: ^~
keypair.c: keypair.c: In function 'crypto_sign_donald2048_openssl_keypair':
keypair.c: keypair.c:18:4: error: dereferencing pointer to incomplete type 'DSA {aka struct dsa_st}'
keypair.c: x->p = BN_new(); if (!x->p) goto error;
keypair.c: ^~

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