Implementation notes: aarch64, supercoplxc, crypto_dh/claus

Computer: supercoplxc
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_dh
Primitive: claus

Compiler output

Implementation: cryptopp
Security model: unknown
Compiler: clang++ -O3 -fomit-frame-pointer -Qunused-arguments
keypair.cpp: keypair.cpp:1:10: fatal error: 'cryptopp/dh.h' file not found
keypair.cpp: #include <cryptopp/dh.h>
keypair.cpp: ^~~~~~~~~~~~~~~
keypair.cpp: 1 error generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang++ -O3 -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++ -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments cryptopp

Compiler output

Implementation: cryptopp
Security model: unknown
Compiler: g++
keypair.cpp: keypair.cpp:1:10: fatal error: cryptopp/dh.h: No such file or directory
keypair.cpp: #include <cryptopp/dh.h>
keypair.cpp: ^~~~~~~~~~~~~~~
keypair.cpp: compilation terminated.

Number of similar (compiler,implementation) pairs: 13, 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

Compiler output

Implementation: gmp
Security model: unknown
Compiler: clang++ -O3 -fomit-frame-pointer -Qunused-arguments
keypair.cpp: keypair.cpp:1:10: fatal error: 'gmpxx.h' file not found
keypair.cpp: #include <gmpxx.h>
keypair.cpp: ^~~~~~~~~
keypair.cpp: 1 error generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang++ -O3 -fomit-frame-pointer -Qunused-arguments gmp
clang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments gmp
clang++ -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments gmp
clang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments gmp
clang++ -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments gmp

Compiler output

Implementation: gmp
Security model: unknown
Compiler: g++
keypair.cpp: keypair.cpp:1:10: fatal error: gmpxx.h: No such file or directory
keypair.cpp: #include <gmpxx.h>
keypair.cpp: ^~~~~~~~~
keypair.cpp: compilation terminated.

Number of similar (compiler,implementation) pairs: 13, namely:
CompilerImplementations
g++ gmp
g++ -O2 -fomit-frame-pointer gmp
g++ -O3 -fomit-frame-pointer gmp
g++ -O -fomit-frame-pointer gmp
g++ -Os -fomit-frame-pointer gmp
g++ -fno-schedule-insns -O2 -fomit-frame-pointer gmp
g++ -fno-schedule-insns -O3 -fomit-frame-pointer gmp
g++ -fno-schedule-insns -O -fomit-frame-pointer gmp
g++ -fno-schedule-insns -Os -fomit-frame-pointer gmp
g++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer gmp
g++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer gmp
g++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer gmp
g++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer gmp

Compiler output

Implementation: ntl
Security model: unknown
Compiler: clang++ -O3 -fomit-frame-pointer -Qunused-arguments
keypair.cpp: keypair.cpp:1:10: fatal error: 'NTL/ZZ.h' file not found
keypair.cpp: #include <NTL/ZZ.h>
keypair.cpp: ^~~~~~~~~~
keypair.cpp: 1 error generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang++ -O3 -fomit-frame-pointer -Qunused-arguments ntl
clang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments ntl
clang++ -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ntl
clang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ntl
clang++ -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ntl

Compiler output

Implementation: ntl
Security model: unknown
Compiler: g++
keypair.cpp: keypair.cpp:1:10: fatal error: NTL/ZZ.h: No such file or directory
keypair.cpp: #include <NTL/ZZ.h>
keypair.cpp: ^~~~~~~~~~
keypair.cpp: compilation terminated.

Number of similar (compiler,implementation) pairs: 13, namely:
CompilerImplementations
g++ ntl
g++ -O2 -fomit-frame-pointer ntl
g++ -O3 -fomit-frame-pointer ntl
g++ -O -fomit-frame-pointer ntl
g++ -Os -fomit-frame-pointer ntl
g++ -fno-schedule-insns -O2 -fomit-frame-pointer ntl
g++ -fno-schedule-insns -O3 -fomit-frame-pointer ntl
g++ -fno-schedule-insns -O -fomit-frame-pointer ntl
g++ -fno-schedule-insns -Os -fomit-frame-pointer ntl
g++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ntl
g++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ntl
g++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ntl
g++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ntl

Compiler output

Implementation: openssl
Security model: unknown
Compiler: cc
keypair.c: keypair.c: In function 'crypto_dh_claus_openssl_keypair':
keypair.c: keypair.c:25:5: error: dereferencing pointer to incomplete type 'DH' {aka 'struct dh_st'}
keypair.c: dh->p = BN_new(); if (!dh->p) goto error;
keypair.c: ^~

Number of similar (compiler,implementation) pairs: 19, namely:
CompilerImplementations
cc openssl
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

Compiler output

Implementation: openssl
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
keypair.c: keypair.c:25:5: error: incomplete definition of type 'struct dh_st'
keypair.c: dh->p = BN_new(); if (!dh->p) goto error;
keypair.c: ~~^
keypair.c: /usr/include/openssl/ossl_typ.h:104:16: note: forward declaration of 'struct dh_st'
keypair.c: typedef struct dh_st DH;
keypair.c: ^
keypair.c: keypair.c:25:28: error: incomplete definition of type 'struct dh_st'
keypair.c: dh->p = BN_new(); if (!dh->p) goto error;
keypair.c: ~~^
keypair.c: /usr/include/openssl/ossl_typ.h:104:16: note: forward declaration of 'struct dh_st'
keypair.c: typedef struct dh_st DH;
keypair.c: ^
keypair.c: keypair.c:26:5: error: incomplete definition of type 'struct dh_st'
keypair.c: dh->g = BN_new(); if (!dh->g) goto error;
keypair.c: ~~^
keypair.c: /usr/include/openssl/ossl_typ.h:104:16: note: forward declaration of 'struct dh_st'
keypair.c: typedef struct dh_st DH;
keypair.c: ^
keypair.c: keypair.c:26:28: error: incomplete definition of type 'struct dh_st'
keypair.c: dh->g = BN_new(); if (!dh->g) goto error;
keypair.c: ~~^
keypair.c: /usr/include/openssl/ossl_typ.h:104:16: note: forward declaration of 'struct dh_st'
keypair.c: typedef struct dh_st DH;
keypair.c: ^
keypair.c: keypair.c:28:39: error: incomplete definition of type 'struct dh_st'
keypair.c: ...

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -O3 -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 -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments openssl