Implementation notes: amd64, gsm2, crypto_dh/sclaus2048

Computer: gsm2
Architecture: amd64
CPU ID: GenuineIntel-000306e4-bfebfbff
SUPERCOP version: 20170725
Operation: crypto_dh
Primitive: sclaus2048
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
11647644? ? ?? ? ?cryptoppg++_-m64_-march=corei7_-O_-fomit-frame-pointer2017080620170725
12300112? ? ?? ? ?cryptoppg++_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017080620170725
12395684? ? ?? ? ?cryptoppg++_-march=k8_-Os_-fomit-frame-pointer2017080620170725
12434040? ? ?? ? ?cryptoppg++_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017080620170725
12440168? ? ?? ? ?cryptoppg++_-m64_-march=corei7_-O3_-fomit-frame-pointer2017080620170725
12475132? ? ?? ? ?cryptoppg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017080620170725
12487904? ? ?? ? ?cryptoppg++_-m64_-march=core2_-O2_-fomit-frame-pointer2017080620170725
12489476? ? ?? ? ?cryptoppg++_-march=barcelona_-O3_-fomit-frame-pointer2017080620170725
12497892? ? ?? ? ?cryptoppg++_-march=k8_-O3_-fomit-frame-pointer2017080620170725
12537232? ? ?? ? ?cryptoppg++_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017080620170725
12600800? ? ?? ? ?cryptoppg++_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017080620170725
12690208? ? ?? ? ?cryptoppg++_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017080620170725
12789844? ? ?? ? ?cryptoppg++_-m64_-march=nocona_-Os_-fomit-frame-pointer2017080620170725
12854192? ? ?? ? ?cryptoppg++_-m64_-march=nocona_-O2_-fomit-frame-pointer2017080620170725
12855500? ? ?? ? ?cryptoppg++_-m64_-march=nocona_-O_-fomit-frame-pointer2017080620170725
12945732? ? ?? ? ?cryptoppg++_-m64_-O3_-fomit-frame-pointer2017080620170725
13084568? ? ?? ? ?cryptoppg++_-march=k8_-O2_-fomit-frame-pointer2017080620170725
13092028? ? ?? ? ?cryptoppg++_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017080620170725
13116748? ? ?? ? ?cryptoppg++_-m64_-march=barcelona_-O_-fomit-frame-pointer2017080620170725
13279484? ? ?? ? ?cryptoppg++_-march=barcelona_-O2_-fomit-frame-pointer2017080620170725
13320980? ? ?? ? ?cryptoppg++_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017080620170725
13325196? ? ?? ? ?cryptoppg++_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017080620170725
13335648? ? ?? ? ?cryptoppg++_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017080620170725
13346268? ? ?? ? ?cryptoppg++_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017080620170725
13374392? ? ?? ? ?cryptoppg++_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017080620170725
13455368? ? ?? ? ?cryptoppg++_-m64_-march=nocona_-O3_-fomit-frame-pointer2017080620170725
13474056? ? ?? ? ?cryptoppg++_-march=nocona_-O2_-fomit-frame-pointer2017080620170725
13549700? ? ?? ? ?cryptoppg++_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017080620170725
13637704? ? ?? ? ?cryptoppg++_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017080620170725
13806364? ? ?? ? ?cryptoppg++_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017080620170725
13849304? ? ?? ? ?cryptoppg++_-march=barcelona_-Os_-fomit-frame-pointer2017080620170725
14344028? ? ?? ? ?cryptoppg++_-fno-schedule-insns_-O2_-fomit-frame-pointer2017080620170725
14372340? ? ?? ? ?cryptoppg++_-m64_-O2_-fomit-frame-pointer2017080620170725
14392048? ? ?? ? ?cryptoppg++_-m64_-march=corei7_-Os_-fomit-frame-pointer2017080620170725
14396952? ? ?? ? ?cryptoppg++_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017080620170725
14408156? ? ?? ? ?cryptoppg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017080620170725
14417320? ? ?? ? ?cryptoppg++_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017080620170725
14458800? ? ?? ? ?cryptoppg++_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017080620170725
14469688? ? ?? ? ?cryptoppg++_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017080620170725
14478112? ? ?? ? ?cryptoppg++_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017080620170725
14482848? ? ?? ? ?cryptoppg++_-Os_-fomit-frame-pointer2017080620170725
14493464? ? ?? ? ?cryptoppg++_-m64_-Os_-fomit-frame-pointer2017080620170725
14498500? ? ?? ? ?cryptoppg++_-march=nocona_-O3_-fomit-frame-pointer2017080620170725
14498648? ? ?? ? ?cryptoppg++_-fno-schedule-insns_-O3_-fomit-frame-pointer2017080620170725
14499300? ? ?? ? ?cryptoppg++_-O2_-fomit-frame-pointer2017080620170725
14499364? ? ?? ? ?cryptoppg++_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017080620170725
14509716? ? ?? ? ?cryptoppg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017080620170725
14524772? ? ?? ? ?cryptoppg++_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017080620170725
14524992? ? ?? ? ?cryptoppg++_-m64_-march=core2_-Os_-fomit-frame-pointer2017080620170725
14528156? ? ?? ? ?cryptoppg++_-O3_-fomit-frame-pointer2017080620170725
14528204? ? ?? ? ?cryptoppg++_-m64_-march=core2_-O_-fomit-frame-pointer2017080620170725
14533252? ? ?? ? ?cryptoppg++_-fno-schedule-insns_-Os_-fomit-frame-pointer2017080620170725
14537188? ? ?? ? ?cryptoppg++_-march=nocona_-Os_-fomit-frame-pointer2017080620170725
14538836? ? ?? ? ?cryptoppg++_-m64_-march=k8_-O3_-fomit-frame-pointer2017080620170725
14539548? ? ?? ? ?cryptoppg++_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017080620170725
14540688? ? ?? ? ?cryptoppg++2017080620170725
14548808? ? ?? ? ?cryptoppg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017080620170725
14554684? ? ?? ? ?cryptoppg++_-m64_-march=k8_-O_-fomit-frame-pointer2017080620170725
14576480? ? ?? ? ?cryptoppg++_-march=k8_-O_-fomit-frame-pointer2017080620170725
14578848? ? ?? ? ?cryptoppg++_-m64_-march=k8_-Os_-fomit-frame-pointer2017080620170725
14588512? ? ?? ? ?cryptoppg++_-march=nocona_-O_-fomit-frame-pointer2017080620170725
14630500? ? ?? ? ?cryptoppg++_-O_-fomit-frame-pointer2017080620170725
14631924? ? ?? ? ?cryptoppg++_-march=barcelona_-O_-fomit-frame-pointer2017080620170725
14637132? ? ?? ? ?cryptoppg++_-m64_-O_-fomit-frame-pointer2017080620170725
14668084? ? ?? ? ?cryptoppg++_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017080620170725
14669548? ? ?? ? ?cryptoppg++_-m64_-march=core2_-O3_-fomit-frame-pointer2017080620170725
14693972? ? ?? ? ?cryptoppg++_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017080620170725
14703136? ? ?? ? ?cryptoppg++_-m64_-march=corei7_-O2_-fomit-frame-pointer2017080620170725
14772268? ? ?? ? ?cryptoppg++_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017080620170725
16791996? ? ?? ? ?cryptoppg++_-fno-schedule-insns_-O_-fomit-frame-pointer2017080620170725
16802440? ? ?? ? ?cryptoppg++_-m64_-march=k8_-O2_-fomit-frame-pointer2017080620170725
16861028? ? ?? ? ?cryptoppg++_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017080620170725
16870676? ? ?? ? ?cryptoppg++_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017080620170725

Test failure

Implementation: crypto_dh/sclaus2048/cryptopp
Compiler: g++ -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

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

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_expr<__mpz_struct [1], __mpz_struct [1]>::__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_expr<__mpz_struct [1], __mpz_struct [1]>::__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_expr<__mpz_struct [1], __mpz_struct [1]>::~__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_expr<__mpz_struct [1], __mpz_struct [1]>::operator=(char const*)':
try.cpp: keypair.cpp:(.text._ZN10__gmp_exprIA1_12__mpz_structS1_EaSEPKc[_ZN10__gmp_exprIA1_12__mpz_structS1_EaSEPKc]+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: error: 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_expr<__mpz_struct [1], __mpz_struct [1]>::~__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: ...

Number of similar (compiler,implementation) pairs: 35, 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=core-avx2 -O2 -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=native -mtune=native -O2 -fomit-frame-pointer -fwrapv gmp
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv 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: ...

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

Compiler output

Implementation: crypto_dh/sclaus2048/gmp
Compiler: g++ -Os -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_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(keypair.o): In function `__gmp_expr<__mpz_struct [1], __mpz_struct [1]>::operator=(char const*)':
try.cpp: keypair.cpp:(.text._ZN10__gmp_exprIA1_12__mpz_structS1_EaSEPKc[_ZN10__gmp_exprIA1_12__mpz_structS1_EaSEPKc]+0xc): 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_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_powm'
try.cpp: ...

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

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: ...
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: ...

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

Compiler output

Implementation: crypto_dh/sclaus2048/gmp
Compiler: g++ -m64 -march=barcelona -Os -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_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(keypair.o): In function `__gmp_expr<__mpz_struct [1], __mpz_struct [1]>::operator=(char const*)':
try.cpp: keypair.cpp:(.text._ZN10__gmp_exprIA1_12__mpz_structS1_EaSEPKc[_ZN10__gmp_exprIA1_12__mpz_structS1_EaSEPKc]+0xc): 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_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_powm'
try.cpp: ...
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_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(keypair.o): In function `__gmp_expr<__mpz_struct [1], __mpz_struct [1]>::operator=(char const*)':
try.cpp: keypair.cpp:(.text._ZN10__gmp_exprIA1_12__mpz_structS1_EaSEPKc[_ZN10__gmp_exprIA1_12__mpz_structS1_EaSEPKc]+0xc): 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_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_powm'
try.cpp: ...

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