Implementation notes: amd64, genji291, crypto_dh/sclaus1024

Computer: genji291
Architecture: amd64
CPU ID: GenuineIntel-00050671-bfebfbff
SUPERCOP version: 20180818
Operation: crypto_dh
Primitive: sclaus1024

Compiler output

Implementation: cryptopp
Security model: unknown
Compiler: g++
try.cpp: /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/lib/knownrandombytes.o: In function `randombytes':
try.cpp: knownrandombytes.c:(.text+0x...): undefined reference to `_intel_fast_memcpy'
try.cpp: knownrandombytes.c:(.text+0x...): undefined reference to `_intel_fast_memset'
try.cpp: /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/lib/libsupercop.a(crypto_stream_chacha20_dolbeau_amd64_avx2-api.o): In function `crypto_stream_chacha20_dolbeau_amd64_avx2':
try.cpp: api.c:(.text+0x...): undefined reference to `__intel_mic_avx512f_memset'
try.cpp: /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/lib/libsupercop.a(crypto_stream_chacha20_dolbeau_amd64_avx2-chacha.o): In function `crypto_stream_chacha20_dolbeau_amd64_avx2_ECRYPT_keystream_bytes':
try.cpp: chacha.c:(.text+0x...): undefined reference to `__intel_mic_avx512f_memset'
try.cpp: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: cryptopp
Security model: unknown
Compiler: g++ -m64 -march=barcelona -O2 -fomit-frame-pointer
try.cpp: /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/lib/knownrandombytes.o: In function `randombytes':
try.cpp: knownrandombytes.c:(.text+0x...): undefined reference to `_intel_fast_memcpy'
try.cpp: knownrandombytes.c:(.text+0x...): undefined reference to `_intel_fast_memset'
try.cpp: /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/lib/libsupercop.a(crypto_stream_chacha20_dolbeau_amd64_avx2-api.o): In function `crypto_stream_chacha20_dolbeau_amd64_avx2':
try.cpp: api.c:(.text+0x...): undefined reference to `__intel_mic_avx512f_memset'
try.cpp: /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/lib/libsupercop.a(crypto_stream_chacha20_dolbeau_amd64_avx2-chacha.o): In function `crypto_stream_chacha20_dolbeau_amd64_avx2_ECRYPT_keystream_bytes':
try.cpp: chacha.c:(.text+0x...): undefined reference to `__intel_mic_avx512f_memset'
try.cpp: collect2: error: ld returned 1 exit status
try.cpp: /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/lib/knownrandombytes.o: In function `randombytes':
try.cpp: knownrandombytes.c:(.text+0x...): undefined reference to `_intel_fast_memcpy'
try.cpp: knownrandombytes.c:(.text+0x...): undefined reference to `_intel_fast_memset'
try.cpp: /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/lib/libsupercop.a(crypto_stream_chacha20_dolbeau_amd64_avx2-api.o): In function `crypto_stream_chacha20_dolbeau_amd64_avx2':
try.cpp: api.c:(.text+0x...): undefined reference to `__intel_mic_avx512f_memset'
try.cpp: /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/lib/libsupercop.a(crypto_stream_chacha20_dolbeau_amd64_avx2-chacha.o): In function `crypto_stream_chacha20_dolbeau_amd64_avx2_ECRYPT_keystream_bytes':
try.cpp: chacha.c:(.text+0x...): undefined reference to `__intel_mic_avx512f_memset'
try.cpp: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: cryptopp
Security model: unknown
Compiler: icpc -xAVX -O2 -fomit-frame-pointer
keypair.cpp: In file included from /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/include/c++/8.2.0/bits/unique_ptr.h(36),
keypair.cpp: from /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/include/c++/8.2.0/memory(80),
keypair.cpp: from /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/include/cryptopp/stdcpp.h(10),
keypair.cpp: from /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/include/cryptopp/cryptlib.h(87),
keypair.cpp: from /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/include/cryptopp/dh.h(9),
keypair.cpp: from keypair.cpp(1):
keypair.cpp: /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/include/c++/8.2.0/utility(307): error: pack expansion does not make use of any argument packs
keypair.cpp: using __type = _Index_tuple<__integer_pack(_Num)...>;
keypair.cpp: ^
keypair.cpp:
keypair.cpp: In file included from /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/include/c++/8.2.0/bits/unique_ptr.h(36),
keypair.cpp: from /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/include/c++/8.2.0/memory(80),
keypair.cpp: from /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/include/cryptopp/stdcpp.h(10),
keypair.cpp: from /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/include/cryptopp/cryptlib.h(87),
keypair.cpp: from /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/include/cryptopp/dh.h(9),
keypair.cpp: from keypair.cpp(1):
keypair.cpp: /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/include/c++/8.2.0/utility(329): error: pack expansion does not make use of any argument packs
keypair.cpp: = integer_sequence<_Tp, __integer_pack(_Num)...>;
keypair.cpp: ^
keypair.cpp:
keypair.cpp: In file included from /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/include/c++/8.2.0/bits/unique_ptr.h(36),
keypair.cpp: from /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/include/c++/8.2.0/memory(80),
keypair.cpp: from /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/include/cryptopp/stdcpp.h(10),
keypair.cpp: from /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/include/cryptopp/cryptlib.h(87),
keypair.cpp: from /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/include/cryptopp/dh.h(9),
keypair.cpp: ...

Number of similar (compiler,implementation) pairs: 14, namely:
CompilerImplementations
icpc -xAVX -O2 -fomit-frame-pointer cryptopp
icpc -xAVX -O3 -fomit-frame-pointer cryptopp
icpc -xCOMMON-AVX512 -O2 -fomit-frame-pointer cryptopp
icpc -xCOMMON-AVX512 -O3 -fomit-frame-pointer cryptopp
icpc -xCORE-AVX-I -O2 -fomit-frame-pointer cryptopp
icpc -xCORE-AVX-I -O3 -fomit-frame-pointer cryptopp
icpc -xCORE-AVX2 -O2 -fomit-frame-pointer cryptopp
icpc -xCORE-AVX2 -O3 -fomit-frame-pointer cryptopp
icpc -xMIC-AVX512 -O2 -fomit-frame-pointer cryptopp
icpc -xMIC-AVX512 -O3 -fomit-frame-pointer cryptopp
icpc -xSSE4.1 -O2 -fomit-frame-pointer cryptopp
icpc -xSSE4.1 -O3 -fomit-frame-pointer cryptopp
icpc -xSSE4.2 -O2 -fomit-frame-pointer cryptopp
icpc -xSSE4.2 -O3 -fomit-frame-pointer cryptopp

Compiler output

Implementation: gmp
Security model: unknown
Compiler: icpc -xAVX -O2 -fomit-frame-pointer
keypair.cpp: In file included from /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/include/gmpxx.h(38),
keypair.cpp: from keypair.cpp(1):
keypair.cpp: /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/include/c++/8.2.0/utility(307): error: pack expansion does not make use of any argument packs
keypair.cpp: using __type = _Index_tuple<__integer_pack(_Num)...>;
keypair.cpp: ^
keypair.cpp:
keypair.cpp: In file included from /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/include/gmpxx.h(38),
keypair.cpp: from keypair.cpp(1):
keypair.cpp: /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/include/c++/8.2.0/utility(329): error: pack expansion does not make use of any argument packs
keypair.cpp: = integer_sequence<_Tp, __integer_pack(_Num)...>;
keypair.cpp: ^
keypair.cpp:
keypair.cpp: In file included from /scratch_lustre_DDN7k/bdolbeaur/supercop-20180818/supercop-data/genji291/amd64/include/gmpxx.h(38),
keypair.cpp: from keypair.cpp(1):
keypair.cpp: /home_nfs_robin_ib/bdolbeaur/gcc-8.2.0-full+isl/include/c++/8.2.0/utility(329): error: expected a ">"
keypair.cpp: = integer_sequence<_Tp, __integer_pack(_Num)...>;
keypair.cpp: ^
keypair.cpp: detected during instantiation of type "std::make_integer_sequence<std::size_t={unsigned long}, _Num>" at line 340
keypair.cpp:
keypair.cpp: compilation aborted for keypair.cpp (code 2)

Number of similar (compiler,implementation) pairs: 14, namely:
CompilerImplementations
icpc -xAVX -O2 -fomit-frame-pointer gmp
icpc -xAVX -O3 -fomit-frame-pointer gmp
icpc -xCOMMON-AVX512 -O2 -fomit-frame-pointer gmp
icpc -xCOMMON-AVX512 -O3 -fomit-frame-pointer gmp
icpc -xCORE-AVX-I -O2 -fomit-frame-pointer gmp
icpc -xCORE-AVX-I -O3 -fomit-frame-pointer gmp
icpc -xCORE-AVX2 -O2 -fomit-frame-pointer gmp
icpc -xCORE-AVX2 -O3 -fomit-frame-pointer gmp
icpc -xMIC-AVX512 -O2 -fomit-frame-pointer gmp
icpc -xMIC-AVX512 -O3 -fomit-frame-pointer gmp
icpc -xSSE4.1 -O2 -fomit-frame-pointer gmp
icpc -xSSE4.1 -O3 -fomit-frame-pointer gmp
icpc -xSSE4.2 -O2 -fomit-frame-pointer gmp
icpc -xSSE4.2 -O3 -fomit-frame-pointer gmp