Implementation notes: amd64, sandy0, crypto_dh/sclaus2048

Computer: sandy0
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20130419
Operation: crypto_dh
Primitive: sclaus2048
TimeImplementationCompilerBenchmark dateSUPERCOP version
7382568cryptoppg++ -fno-schedule-insns -O2 -fomit-frame-pointer2012032920120316
7383472cryptoppg++ -m64 -march=core2 -Os -fomit-frame-pointer2012032920120316
7384332cryptoppg++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012032920120316
7386164cryptoppg++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012032920120316
7390888cryptoppg++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2012032920120316
7391952cryptoppg++ -fno-schedule-insns -O3 -fomit-frame-pointer2012032920120316
7392624cryptoppg++ -m64 -march=barcelona -O -fomit-frame-pointer2012032920120316
7393768cryptoppg++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2012032920120316
7394012cryptoppg++ -m64 -march=core2 -O3 -fomit-frame-pointer2012032920120316
7394792cryptoppg++ -fno-schedule-insns -Os -fomit-frame-pointer2012032920120316
7395600cryptoppg++ -march=barcelona -Os -fomit-frame-pointer2012032920120316
7396848cryptoppg++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012032920120316
7399372cryptoppg++ -m64 -march=core2 -O2 -fomit-frame-pointer2012032920120316
7400572cryptoppg++ -m64 -march=core-avx-i -Os -fomit-frame-pointer2012032920120316
7403440cryptoppg++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2012032920120316
7403444cryptoppg++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012032920120316
7404644cryptoppg++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2012032920120316
7404676cryptoppg++ -m64 -march=corei7 -O -fomit-frame-pointer2012032920120316
7405604cryptoppg++ -m64 -march=corei7 -O2 -fomit-frame-pointer2012032920120316
7406180cryptoppg++ -m64 -march=corei7 -Os -fomit-frame-pointer2012032920120316
7406920cryptoppg++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012032920120316
7408820cryptoppg++ -m64 -march=native -mtune=native -O -fomit-frame-pointer2012032920120316
7409620cryptoppg++ -m64 -march=corei7-avx -O2 -fomit-frame-pointer2012032920120316
7409820cryptoppg++ -march=nocona -O2 -fomit-frame-pointer2012032920120316
7409828cryptoppg++ -m64 -march=corei7-avx -Os -fomit-frame-pointer2012032920120316
7410580cryptoppg++ -m64 -Os -fomit-frame-pointer2012032920120316
7411000cryptoppg++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012032920120316
7411876cryptoppg++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2012032920120316
7412224cryptoppg++ -m64 -march=corei7 -O3 -fomit-frame-pointer2012032920120316
7413636cryptoppg++ -m64 -O3 -fomit-frame-pointer2012032920120316
7413972cryptoppg++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012032920120316
7418824cryptoppg++ -m64 -march=corei7-avx -O3 -fomit-frame-pointer2012032920120316
7419184cryptoppg++ -march=barcelona -O3 -fomit-frame-pointer2012032920120316
7420280cryptoppg++ -m64 -march=k8 -Os -fomit-frame-pointer2012032920120316
7420864cryptoppg++ -m64 -march=core-avx-i -O2 -fomit-frame-pointer2012032920120316
7422696cryptoppg++ -m64 -march=barcelona -Os -fomit-frame-pointer2012032920120316
7423516cryptoppg++ -march=barcelona -O2 -fomit-frame-pointer2012032920120316
7425556cryptoppg++ -m64 -march=barcelona -O2 -fomit-frame-pointer2012032920120316
7425840cryptoppg++ -march=k8 -O2 -fomit-frame-pointer2012032920120316
7430824cryptoppg++ -march=k8 -O -fomit-frame-pointer2012032920120316
7431248cryptoppg++ -fno-schedule-insns -O -fomit-frame-pointer2012032920120316
7431348cryptoppg++ -m64 -O2 -fomit-frame-pointer2012032920120316
7432004cryptoppg++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012032920120316
7434604cryptoppg++ -march=nocona -O3 -fomit-frame-pointer2012032920120316
7437100cryptoppg++ -O2 -fomit-frame-pointer2012032920120316
7438880cryptoppg++ -m64 -O -fomit-frame-pointer2012032920120316
7446984cryptoppg++ -m64 -march=core2 -O -fomit-frame-pointer2012032920120316
7447972cryptoppg++ -march=k8 -Os -fomit-frame-pointer2012032920120316
7450772cryptoppg++ -march=nocona -O -fomit-frame-pointer2012032920120316
7450788cryptoppg++ -m64 -march=corei7-avx -O -fomit-frame-pointer2012032920120316
7455132cryptoppg++ -m64 -march=nocona -O3 -fomit-frame-pointer2012032920120316
7456468cryptoppg++ -m64 -march=k8 -O3 -fomit-frame-pointer2012032920120316
7459280cryptoppg++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012032920120316
7462508cryptoppg++ -march=nocona -Os -fomit-frame-pointer2012032920120316
7467200cryptoppg++ -m64 -march=core-avx-i -O -fomit-frame-pointer2012032920120316
7472704cryptoppg++ -march=barcelona -O -fomit-frame-pointer2012032920120316
7477888cryptoppg++ -O -fomit-frame-pointer2012032920120316
7481716cryptoppg++ -m64 -march=core-avx-i -O3 -fomit-frame-pointer2012032920120316
7487228cryptoppg++ -m64 -march=nocona -Os -fomit-frame-pointer2012032920120316
7558752cryptoppg++ -O3 -fomit-frame-pointer2012032920120316
7590228cryptoppg++ -m64 -march=nocona -O -fomit-frame-pointer2012032920120316
7591360cryptoppg++ -march=k8 -O3 -fomit-frame-pointer2012032920120316
7591712cryptoppg++ -m64 -march=barcelona -O3 -fomit-frame-pointer2012032920120316
7610772cryptoppg++ -m64 -march=k8 -O -fomit-frame-pointer2012032920120316
7624304cryptoppg++2012032920120316
7666304cryptoppg++ -m64 -march=k8 -O2 -fomit-frame-pointer2012032920120316
7676992cryptoppg++ -Os -fomit-frame-pointer2012032920120316
7728800cryptoppg++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2012032920120316
7757952cryptoppg++ -m64 -march=nocona -O2 -fomit-frame-pointer2012032920120316

Compiler output

Implementation: crypto_dh/sclaus2048/gmp
Compiler: g++
try.cpp: crypto_dh_sclaus2048.a(keypair.o): In function `crypto_dh_sclaus2048_gmp_keypair':
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_import'
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: crypto_dh_sclaus2048.a(keypair.o): In function `__gmp_exprgt;::__gmp_expr()':
try.cpp: keypair.cpp:(.text._ZN10__gmp_exprIA1_12__mpz_structS1_EC2Ev[_ZN10__gmp_exprIA1_12__mpz_structS1_EC5Ev]+0x14): undefined reference to `__gmpz_init'
try.cpp: crypto_dh_sclaus2048.a(keypair.o): In function `__gmp_exprgt;::__gmp_expr(int)':
try.cpp: keypair.cpp:(.text._ZN10__gmp_exprIA1_12__mpz_structS1_EC2Ei[_ZN10__gmp_exprIA1_12__mpz_structS1_EC5Ei]+0x20): undefined reference to `__gmpz_init_set_si'
try.cpp: crypto_dh_sclaus2048.a(keypair.o): In function `__gmp_exprgt;::~__gmp_expr()':
try.cpp: keypair.cpp:(.text._ZN10__gmp_exprIA1_12__mpz_structS1_ED2Ev[_ZN10__gmp_exprIA1_12__mpz_structS1_ED5Ev]+0x14): undefined reference to `__gmpz_clear'
try.cpp: crypto_dh_sclaus2048.a(keypair.o): In function `__gmp_exprgt;::operator=(char const*)':
try.cpp: keypair.cpp:(.text._ZN10__gmp_exprIA1_12__mpz_structS1_EaSEPKc[__gmp_exprgt;::operator=(char const*)]+0x27): undefined reference to `__gmpz_set_str'
try.cpp: crypto_dh_sclaus2048.a(sharedsecret.o): In function `crypto_dh_sclaus2048_gmp':
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_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: collect2: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ gmp

Compiler output

Implementation: crypto_dh/sclaus2048/gmp
Compiler: g++ -O2 -fomit-frame-pointer
try.cpp: crypto_dh_sclaus2048.a(keypair.o): In function `crypto_dh_sclaus2048_gmp_keypair':
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_set_str'
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_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_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_init_set_si'
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_sclaus2048.a(keypair.o): In function `__gmp_exprgt;::~__gmp_expr()':
try.cpp: keypair.cpp:(.text._ZN10__gmp_exprIA1_12__mpz_structS1_ED2Ev[_ZN10__gmp_exprIA1_12__mpz_structS1_ED5Ev]+0x1): undefined reference to `__gmpz_clear'
try.cpp: crypto_dh_sclaus2048.a(sharedsecret.o): In function `crypto_dh_sclaus2048_gmp':
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_set_str'
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_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_sclaus2048.a(sharedsecret.o):sharedsecret.cpp:(.text+0x...): more undefined references to `__gmpz_clear' follow
try.cpp: collect2: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 32, namely:
CompilerImplementations
g++ -O2 -fomit-frame-pointer gmp
g++ -O3 -fomit-frame-pointer gmp
g++ -fno-schedule-insns -O2 -fomit-frame-pointer gmp
g++ -fno-schedule-insns -O3 -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++ -m64 -O2 -fomit-frame-pointer gmp
g++ -m64 -O3 -fomit-frame-pointer gmp
g++ -m64 -march=core-avx-i -O2 -fomit-frame-pointer gmp
g++ -m64 -march=core-avx-i -O3 -fomit-frame-pointer gmp
g++ -m64 -march=core2 -O2 -fomit-frame-pointer gmp
g++ -m64 -march=core2 -O3 -fomit-frame-pointer gmp
g++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer gmp
g++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer gmp
g++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer gmp
g++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer gmp
g++ -m64 -march=corei7-avx -O2 -fomit-frame-pointer gmp
g++ -m64 -march=corei7-avx -O3 -fomit-frame-pointer gmp
g++ -m64 -march=corei7 -O2 -fomit-frame-pointer gmp
g++ -m64 -march=corei7 -O3 -fomit-frame-pointer gmp
g++ -m64 -march=k8 -O2 -fomit-frame-pointer gmp
g++ -m64 -march=k8 -O3 -fomit-frame-pointer gmp
g++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer gmp
g++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer gmp
g++ -m64 -march=nocona -O2 -fomit-frame-pointer gmp
g++ -m64 -march=nocona -O3 -fomit-frame-pointer gmp
g++ -march=barcelona -O2 -fomit-frame-pointer gmp
g++ -march=barcelona -O3 -fomit-frame-pointer gmp
g++ -march=k8 -O2 -fomit-frame-pointer gmp
g++ -march=k8 -O3 -fomit-frame-pointer gmp
g++ -march=nocona -O2 -fomit-frame-pointer gmp
g++ -march=nocona -O3 -fomit-frame-pointer gmp

Compiler output

Implementation: crypto_dh/sclaus2048/gmp
Compiler: g++ -O -fomit-frame-pointer
try.cpp: crypto_dh_sclaus2048.a(keypair.o): In function `crypto_dh_sclaus2048_gmp_keypair':
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_set_str'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init_set_si'
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_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_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_sclaus2048.a(keypair.o):keypair.cpp:(.text+0x...): more undefined references to `__gmpz_clear' follow
try.cpp: crypto_dh_sclaus2048.a(sharedsecret.o): In function `crypto_dh_sclaus2048_gmp':
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_set_str'
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_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_sclaus2048.a(sharedsecret.o):sharedsecret.cpp:(.text+0x...): more undefined references to `__gmpz_clear' follow
try.cpp: collect2: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 32, namely:
CompilerImplementations
g++ -O -fomit-frame-pointer gmp
g++ -Os -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 -O -fomit-frame-pointer gmp
g++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer gmp
g++ -m64 -O -fomit-frame-pointer gmp
g++ -m64 -Os -fomit-frame-pointer gmp
g++ -m64 -march=core-avx-i -O -fomit-frame-pointer gmp
g++ -m64 -march=core-avx-i -Os -fomit-frame-pointer gmp
g++ -m64 -march=core2 -O -fomit-frame-pointer gmp
g++ -m64 -march=core2 -Os -fomit-frame-pointer gmp
g++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer gmp
g++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer gmp
g++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer gmp
g++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer gmp
g++ -m64 -march=corei7-avx -O -fomit-frame-pointer gmp
g++ -m64 -march=corei7-avx -Os -fomit-frame-pointer gmp
g++ -m64 -march=corei7 -O -fomit-frame-pointer gmp
g++ -m64 -march=corei7 -Os -fomit-frame-pointer gmp
g++ -m64 -march=k8 -O -fomit-frame-pointer gmp
g++ -m64 -march=k8 -Os -fomit-frame-pointer gmp
g++ -m64 -march=native -mtune=native -O -fomit-frame-pointer gmp
g++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer gmp
g++ -m64 -march=nocona -O -fomit-frame-pointer gmp
g++ -m64 -march=nocona -Os -fomit-frame-pointer gmp
g++ -march=barcelona -O -fomit-frame-pointer gmp
g++ -march=barcelona -Os -fomit-frame-pointer gmp
g++ -march=k8 -O -fomit-frame-pointer gmp
g++ -march=k8 -Os -fomit-frame-pointer gmp
g++ -march=nocona -O -fomit-frame-pointer gmp
g++ -march=nocona -Os -fomit-frame-pointer gmp

Compiler output

Implementation: crypto_dh/sclaus2048/gmp
Compiler: g++ -m64 -march=barcelona -O2 -fomit-frame-pointer
try.cpp: crypto_dh_sclaus2048.a(keypair.o): In function `crypto_dh_sclaus2048_gmp_keypair':
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_set_str'
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_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_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_init_set_si'
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_sclaus2048.a(keypair.o): In function `__gmp_exprgt;::~__gmp_expr()':
try.cpp: keypair.cpp:(.text._ZN10__gmp_exprIA1_12__mpz_structS1_ED2Ev[_ZN10__gmp_exprIA1_12__mpz_structS1_ED5Ev]+0x1): undefined reference to `__gmpz_clear'
try.cpp: crypto_dh_sclaus2048.a(sharedsecret.o): In function `crypto_dh_sclaus2048_gmp':
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_set_str'
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_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_sclaus2048.a(sharedsecret.o):sharedsecret.cpp:(.text+0x...): more undefined references to `__gmpz_clear' follow
try.cpp: collect2: ld returned 1 exit status
try.cpp: crypto_dh_sclaus2048.a(keypair.o): In function `crypto_dh_sclaus2048_gmp_keypair':
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_set_str'
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_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_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_init_set_si'
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_sclaus2048.a(keypair.o): In function `__gmp_exprgt;::~__gmp_expr()':
try.cpp: keypair.cpp:(.text._ZN10__gmp_exprIA1_12__mpz_structS1_ED2Ev[_ZN10__gmp_exprIA1_12__mpz_structS1_ED5Ev]+0x1): undefined reference to `__gmpz_clear'
try.cpp: crypto_dh_sclaus2048.a(sharedsecret.o): In function `crypto_dh_sclaus2048_gmp':
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_set_str'
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_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_sclaus2048.a(sharedsecret.o):sharedsecret.cpp:(.text+0x...): more undefined references to `__gmpz_clear' follow
try.cpp: collect2: ld returned 1 exit status

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

Compiler output

Implementation: crypto_dh/sclaus2048/gmp
Compiler: g++ -m64 -march=barcelona -O -fomit-frame-pointer
try.cpp: crypto_dh_sclaus2048.a(keypair.o): In function `crypto_dh_sclaus2048_gmp_keypair':
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_set_str'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init_set_si'
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_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_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_sclaus2048.a(keypair.o):keypair.cpp:(.text+0x...): more undefined references to `__gmpz_clear' follow
try.cpp: crypto_dh_sclaus2048.a(sharedsecret.o): In function `crypto_dh_sclaus2048_gmp':
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_set_str'
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_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_sclaus2048.a(sharedsecret.o):sharedsecret.cpp:(.text+0x...): more undefined references to `__gmpz_clear' follow
try.cpp: collect2: ld returned 1 exit status
try.cpp: crypto_dh_sclaus2048.a(keypair.o): In function `crypto_dh_sclaus2048_gmp_keypair':
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_set_str'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init_set_si'
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_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_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_sclaus2048.a(keypair.o):keypair.cpp:(.text+0x...): more undefined references to `__gmpz_clear' follow
try.cpp: crypto_dh_sclaus2048.a(sharedsecret.o): In function `crypto_dh_sclaus2048_gmp':
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_set_str'
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_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_sclaus2048.a(sharedsecret.o):sharedsecret.cpp:(.text+0x...): more undefined references to `__gmpz_clear' follow
try.cpp: collect2: ld returned 1 exit status

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