Implementation notes: armeabi, tonido, crypto_dh/claus

Computer: tonido
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20170718
Operation: crypto_dh
Primitive: claus
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
450179604? ? ?? ? ?cryptoppg++_-march=native_-mtune=xscale_-O32017080220170718
450304482? ? ?? ? ?cryptoppg++_-funroll-loops_-march=native_-mtune=xscale_-Os2017080220170718
450352320? ? ?? ? ?cryptoppg++_-march=native_-mtune=xscale_-Os2017080220170718
450839538? ? ?? ? ?cryptoppg++_-funroll-loops_-march=native_-mtune=xscale_-O22017080220170718
451803816? ? ?? ? ?cryptoppg++_-march=native_-mtune=xscale_-O22017080220170718
452008782? ? ?? ? ?cryptoppg++_-funroll-loops_-march=native_-mtune=xscale_-O32017080220170718

Compiler output

Implementation: crypto_dh/claus/ntl
Compiler: g++ -funroll-loops -march=native -mtune=xscale -O2
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: 6, namely:
CompilerImplementations
g++ -funroll-loops -march=native -mtune=xscale -O2 ntl
g++ -funroll-loops -march=native -mtune=xscale -O3 ntl
g++ -funroll-loops -march=native -mtune=xscale -Os ntl
g++ -march=native -mtune=xscale -O2 ntl
g++ -march=native -mtune=xscale -O3 ntl
g++ -march=native -mtune=xscale -Os ntl

Compiler output

Implementation: crypto_dh/claus/gmp
Compiler: g++ -funroll-loops -march=native -mtune=xscale -O2
try.cpp: crypto_dh_claus.a(keypair.o): In function `crypto_dh_claus_gmp_keypair':
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_import'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_set_str'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_set_ui'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_powm'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_sizeinbase'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_export'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_export'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: crypto_dh_claus.a(keypair.o):keypair.cpp:(.text+0x...): more undefined references to `__gmpz_clear' follow
try.cpp: crypto_dh_claus.a(sharedsecret.o): In function `crypto_dh_claus_gmp':
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_import'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_import'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_set_str'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_powm'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_sizeinbase'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_export'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: crypto_dh_claus.a(sharedsecret.o):sharedsecret.cpp:(.text+0x...): more undefined references to `__gmpz_clear' follow
try.cpp: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
g++ -funroll-loops -march=native -mtune=xscale -O2 gmp
g++ -funroll-loops -march=native -mtune=xscale -O3 gmp
g++ -march=native -mtune=xscale -O2 gmp
g++ -march=native -mtune=xscale -O3 gmp

Compiler output

Implementation: crypto_dh/claus/gmp
Compiler: g++ -funroll-loops -march=native -mtune=xscale -Os
try.cpp: crypto_dh_claus.a(keypair.o): In function `crypto_dh_claus_gmp_keypair':
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_import'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_set_str'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_set_ui'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_powm'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_sizeinbase'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_export'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_export'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: crypto_dh_claus.a(sharedsecret.o): In function `crypto_dh_claus_gmp':
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_import'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_import'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_set_str'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_powm'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_sizeinbase'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_export'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
g++ -funroll-loops -march=native -mtune=xscale -Os gmp
g++ -march=native -mtune=xscale -Os gmp

Compiler output

Implementation: crypto_dh/claus/openssl
Compiler: gcc -funroll-loops -march=native -mtune=xscale -O2
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: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mtune=xscale -O2 openssl
gcc -funroll-loops -march=native -mtune=xscale -O3 openssl
gcc -funroll-loops -march=native -mtune=xscale -Os openssl
gcc -march=native -mtune=xscale -O2 openssl
gcc -march=native -mtune=xscale -O3 openssl
gcc -march=native -mtune=xscale -Os openssl