Implementation notes: amd64, gsm2, crypto_dh/sclaus1024

Computer: gsm2
Architecture: amd64
CPU ID: GenuineIntel-000306e4-bfebfbff
SUPERCOP version: 20170725
Operation: crypto_dh
Primitive: sclaus1024
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2287332? ? ?? ? ?cryptoppg++_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017080620170725
2343276? ? ?? ? ?cryptoppg++_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017080620170725
2348216? ? ?? ? ?cryptoppg++_-m64_-Os_-fomit-frame-pointer2017080620170725
2378856? ? ?? ? ?cryptoppg++_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017080620170725
2430844? ? ?? ? ?cryptoppg++_-march=barcelona_-O2_-fomit-frame-pointer2017080620170725
2434252? ? ?? ? ?cryptoppg++_-O2_-fomit-frame-pointer2017080620170725
2459520? ? ?? ? ?cryptoppg++_-march=k8_-O_-fomit-frame-pointer2017080620170725
2496288? ? ?? ? ?cryptoppg++_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017080620170725
2526132? ? ?? ? ?cryptoppg++_-m64_-O2_-fomit-frame-pointer2017080620170725
2534196? ? ?? ? ?cryptoppg++_-m64_-march=corei7_-Os_-fomit-frame-pointer2017080620170725
2546792? ? ?? ? ?cryptoppg++_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017080620170725
2547132? ? ?? ? ?cryptoppg++_-m64_-march=nocona_-Os_-fomit-frame-pointer2017080620170725
2561436? ? ?? ? ?cryptoppg++_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017080620170725
2565604? ? ?? ? ?cryptoppg++_-m64_-march=nocona_-O3_-fomit-frame-pointer2017080620170725
2569544? ? ?? ? ?cryptoppg++_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017080620170725
2570500? ? ?? ? ?cryptoppg++_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017080620170725
2573656? ? ?? ? ?cryptoppg++_-m64_-march=core2_-O2_-fomit-frame-pointer2017080620170725
2577540? ? ?? ? ?cryptoppg++_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017080620170725
2589548? ? ?? ? ?cryptoppg++_-m64_-march=corei7_-O2_-fomit-frame-pointer2017080620170725
2591924? ? ?? ? ?cryptoppg++_-O_-fomit-frame-pointer2017080620170725
2593212? ? ?? ? ?cryptoppg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017080620170725
2600760? ? ?? ? ?cryptoppg++_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017080620170725
2614744? ? ?? ? ?cryptoppg++_-march=barcelona_-O_-fomit-frame-pointer2017080620170725
2614804? ? ?? ? ?cryptoppg++_-m64_-march=barcelona_-O_-fomit-frame-pointer2017080620170725
2620016? ? ?? ? ?cryptoppg++2017080620170725
2622232? ? ?? ? ?cryptoppg++_-m64_-march=core2_-O_-fomit-frame-pointer2017080620170725
2638628? ? ?? ? ?cryptoppg++_-fno-schedule-insns_-O_-fomit-frame-pointer2017080620170725
2638788? ? ?? ? ?cryptoppg++_-m64_-march=k8_-O3_-fomit-frame-pointer2017080620170725
2643448? ? ?? ? ?cryptoppg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017080620170725
2647180? ? ?? ? ?cryptoppg++_-march=nocona_-O_-fomit-frame-pointer2017080620170725
2649188? ? ?? ? ?cryptoppg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017080620170725
2659328? ? ?? ? ?cryptoppg++_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017080620170725
2660728? ? ?? ? ?cryptoppg++_-march=nocona_-O3_-fomit-frame-pointer2017080620170725
2676328? ? ?? ? ?cryptoppg++_-fno-schedule-insns_-O2_-fomit-frame-pointer2017080620170725
2677128? ? ?? ? ?cryptoppg++_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017080620170725
2677372? ? ?? ? ?cryptoppg++_-march=k8_-O2_-fomit-frame-pointer2017080620170725
2680604? ? ?? ? ?cryptoppg++_-m64_-march=k8_-O_-fomit-frame-pointer2017080620170725
2684232? ? ?? ? ?cryptoppg++_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017080620170725
2684944? ? ?? ? ?cryptoppg++_-march=barcelona_-O3_-fomit-frame-pointer2017080620170725
2688076? ? ?? ? ?cryptoppg++_-m64_-march=nocona_-O_-fomit-frame-pointer2017080620170725
2700732? ? ?? ? ?cryptoppg++_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017080620170725
2703140? ? ?? ? ?cryptoppg++_-m64_-march=corei7_-O_-fomit-frame-pointer2017080620170725
2704076? ? ?? ? ?cryptoppg++_-march=nocona_-O2_-fomit-frame-pointer2017080620170725
2713532? ? ?? ? ?cryptoppg++_-m64_-march=k8_-O2_-fomit-frame-pointer2017080620170725
2716168? ? ?? ? ?cryptoppg++_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017080620170725
2716232? ? ?? ? ?cryptoppg++_-m64_-march=core2_-O3_-fomit-frame-pointer2017080620170725
2725684? ? ?? ? ?cryptoppg++_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017080620170725
2753108? ? ?? ? ?cryptoppg++_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017080620170725
2775656? ? ?? ? ?cryptoppg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017080620170725
2780772? ? ?? ? ?cryptoppg++_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017080620170725
2789300? ? ?? ? ?cryptoppg++_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017080620170725
2821664? ? ?? ? ?cryptoppg++_-m64_-O_-fomit-frame-pointer2017080620170725
2826300? ? ?? ? ?cryptoppg++_-m64_-O3_-fomit-frame-pointer2017080620170725
2830732? ? ?? ? ?cryptoppg++_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017080620170725
2831152? ? ?? ? ?cryptoppg++_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017080620170725
2840600? ? ?? ? ?cryptoppg++_-fno-schedule-insns_-Os_-fomit-frame-pointer2017080620170725
2916164? ? ?? ? ?cryptoppg++_-Os_-fomit-frame-pointer2017080620170725
2944372? ? ?? ? ?cryptoppg++_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017080620170725
2945748? ? ?? ? ?cryptoppg++_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017080620170725
2947180? ? ?? ? ?cryptoppg++_-march=barcelona_-Os_-fomit-frame-pointer2017080620170725
2949056? ? ?? ? ?cryptoppg++_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017080620170725
2955360? ? ?? ? ?cryptoppg++_-O3_-fomit-frame-pointer2017080620170725
2955516? ? ?? ? ?cryptoppg++_-march=nocona_-Os_-fomit-frame-pointer2017080620170725
2960416? ? ?? ? ?cryptoppg++_-m64_-march=core2_-Os_-fomit-frame-pointer2017080620170725
2963112? ? ?? ? ?cryptoppg++_-march=k8_-Os_-fomit-frame-pointer2017080620170725
2964384? ? ?? ? ?cryptoppg++_-march=k8_-O3_-fomit-frame-pointer2017080620170725
2968144? ? ?? ? ?cryptoppg++_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017080620170725
2969676? ? ?? ? ?cryptoppg++_-fno-schedule-insns_-O3_-fomit-frame-pointer2017080620170725
2973372? ? ?? ? ?cryptoppg++_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017080620170725
2986208? ? ?? ? ?cryptoppg++_-m64_-march=k8_-Os_-fomit-frame-pointer2017080620170725
2992096? ? ?? ? ?cryptoppg++_-m64_-march=nocona_-O2_-fomit-frame-pointer2017080620170725
2994396? ? ?? ? ?cryptoppg++_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017080620170725
2996260? ? ?? ? ?cryptoppg++_-m64_-march=corei7_-O3_-fomit-frame-pointer2017080620170725

Test failure

Implementation: crypto_dh/sclaus1024/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/sclaus1024/gmp
Compiler: g++
try.cpp: crypto_dh_sclaus1024.a(keypair.o): In function `crypto_dh_sclaus1024_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_sclaus1024.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_sclaus1024.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_sclaus1024.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_sclaus1024.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_sclaus1024.a(sharedsecret.o): In function `crypto_dh_sclaus1024_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/sclaus1024/gmp
Compiler: g++ -O2 -fomit-frame-pointer
try.cpp: crypto_dh_sclaus1024.a(keypair.o): In function `crypto_dh_sclaus1024_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_sclaus1024.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_sclaus1024.a(sharedsecret.o): In function `crypto_dh_sclaus1024_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/sclaus1024/gmp
Compiler: g++ -O -fomit-frame-pointer
try.cpp: crypto_dh_sclaus1024.a(keypair.o): In function `crypto_dh_sclaus1024_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_sclaus1024.a(keypair.o):keypair.cpp:(.text+0x...): more undefined references to `__gmpz_clear' follow
try.cpp: crypto_dh_sclaus1024.a(sharedsecret.o): In function `crypto_dh_sclaus1024_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/sclaus1024/gmp
Compiler: g++ -Os -fomit-frame-pointer
try.cpp: crypto_dh_sclaus1024.a(keypair.o): In function `crypto_dh_sclaus1024_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_sclaus1024.a(keypair.o):keypair.cpp:(.text+0x...): more undefined references to `__gmpz_clear' follow
try.cpp: crypto_dh_sclaus1024.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_sclaus1024.a(sharedsecret.o): In function `crypto_dh_sclaus1024_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/sclaus1024/gmp
Compiler: g++ -m64 -march=barcelona -O2 -fomit-frame-pointer
try.cpp: crypto_dh_sclaus1024.a(keypair.o): In function `crypto_dh_sclaus1024_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_sclaus1024.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_sclaus1024.a(sharedsecret.o): In function `crypto_dh_sclaus1024_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_sclaus1024.a(keypair.o): In function `crypto_dh_sclaus1024_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_sclaus1024.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_sclaus1024.a(sharedsecret.o): In function `crypto_dh_sclaus1024_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/sclaus1024/gmp
Compiler: g++ -m64 -march=barcelona -O -fomit-frame-pointer
try.cpp: crypto_dh_sclaus1024.a(keypair.o): In function `crypto_dh_sclaus1024_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_sclaus1024.a(keypair.o):keypair.cpp:(.text+0x...): more undefined references to `__gmpz_clear' follow
try.cpp: crypto_dh_sclaus1024.a(sharedsecret.o): In function `crypto_dh_sclaus1024_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_sclaus1024.a(keypair.o): In function `crypto_dh_sclaus1024_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_sclaus1024.a(keypair.o):keypair.cpp:(.text+0x...): more undefined references to `__gmpz_clear' follow
try.cpp: crypto_dh_sclaus1024.a(sharedsecret.o): In function `crypto_dh_sclaus1024_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/sclaus1024/gmp
Compiler: g++ -m64 -march=barcelona -Os -fomit-frame-pointer
try.cpp: crypto_dh_sclaus1024.a(keypair.o): In function `crypto_dh_sclaus1024_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_sclaus1024.a(keypair.o):keypair.cpp:(.text+0x...): more undefined references to `__gmpz_clear' follow
try.cpp: crypto_dh_sclaus1024.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_sclaus1024.a(sharedsecret.o): In function `crypto_dh_sclaus1024_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_sclaus1024.a(keypair.o): In function `crypto_dh_sclaus1024_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_sclaus1024.a(keypair.o):keypair.cpp:(.text+0x...): more undefined references to `__gmpz_clear' follow
try.cpp: crypto_dh_sclaus1024.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_sclaus1024.a(sharedsecret.o): In function `crypto_dh_sclaus1024_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