Implementation notes: amd64, avx512imath, crypto_dh/sclaus2048

Computer: avx512imath
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20210125
Operation: crypto_dh
Primitive: sclaus2048
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
46822303746 16 2241713780 144075 11504T:cryptoppg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
46843612748 16 2241708372 144067 11472T:cryptoppg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
46930003457 16 2241710536 144075 11504T:cryptoppg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
47041013746 16 2241711004 144075 11504T:cryptoppg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125

Compiler output

Implementation: T:gmp
Security model: timingleaks
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.cpp: /usr/bin/ld: crypto_dh_sclaus2048.a(keypair.o): in function `crypto_dh_sclaus2048_gmp_timingleaks_keypair':
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_set_str'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_import'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_powm'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_sizeinbase'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_export'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init_set_ui'
try.cpp: /usr/bin/ld: 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]+0x9): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: crypto_dh_sclaus2048.a(keypair.o): in function `crypto_dh_sclaus2048_gmp_timingleaks_keypair.cold':
try.cpp: keypair.cpp:(.text.unlikely+0x13): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text.unlikely+0x1b): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text.unlikely+0x2f): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: crypto_dh_sclaus2048.a(sharedsecret.o): in function `crypto_dh_sclaus2048_gmp_timingleaks':
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_set_str'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:gmp

Compiler output

Implementation: T:gmp
Security model: timingleaks
Compiler: g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.cpp: /usr/bin/ld: crypto_dh_sclaus2048.a(keypair.o): in function `crypto_dh_sclaus2048_gmp_timingleaks_keypair':
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_set_str'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_import'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_powm'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_sizeinbase'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_export'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init_set_ui'
try.cpp: /usr/bin/ld: 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]+0x9): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: crypto_dh_sclaus2048.a(keypair.o): in function `crypto_dh_sclaus2048_gmp_timingleaks_keypair.cold':
try.cpp: keypair.cpp:(.text.unlikely+0x13): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text.unlikely+0x1b): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text.unlikely+0x2e): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: crypto_dh_sclaus2048.a(sharedsecret.o): in function `crypto_dh_sclaus2048_gmp_timingleaks':
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_set_str'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:gmp

Compiler output

Implementation: T:gmp
Security model: timingleaks
Compiler: g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.cpp: /usr/bin/ld: crypto_dh_sclaus2048.a(keypair.o): in function `crypto_dh_sclaus2048_gmp_timingleaks_keypair':
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_set_str'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_import'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init_set_ui'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_powm'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_sizeinbase'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_export'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: crypto_dh_sclaus2048.a(keypair.o):keypair.cpp:(.text._ZN10__gmp_exprIA1_12__mpz_structS1_ED2Ev[_ZN10__gmp_exprIA1_12__mpz_structS1_ED5Ev]+0x9): more undefined references to `__gmpz_clear' follow
try.cpp: /usr/bin/ld: crypto_dh_sclaus2048.a(sharedsecret.o): in function `crypto_dh_sclaus2048_gmp_timingleaks':
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_set_str'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_import'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_import'
try.cpp: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:gmp

Compiler output

Implementation: T:gmp
Security model: timingleaks
Compiler: g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.cpp: /usr/bin/ld: crypto_dh_sclaus2048.a(keypair.o): in function `crypto_dh_sclaus2048_gmp_timingleaks_keypair':
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_set_str'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init_set_ui'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_import'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_powm'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_sizeinbase'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_export'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: keypair.cpp:(.text+0x...): undefined reference to `__gmpz_clear'
try.cpp: /usr/bin/ld: crypto_dh_sclaus2048.a(keypair.o):keypair.cpp:(.text+0x...): more undefined references to `__gmpz_clear' follow
try.cpp: /usr/bin/ld: crypto_dh_sclaus2048.a(sharedsecret.o): in function `crypto_dh_sclaus2048_gmp_timingleaks':
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_set_str'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_init'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_import'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_import'
try.cpp: /usr/bin/ld: sharedsecret.cpp:(.text+0x...): undefined reference to `__gmpz_powm'
try.cpp: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:gmp