Implementation notes: amd64, pmnod076, crypto_kem/bike2l1sc

Computer: pmnod076
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20191017
Operation: crypto_kem
Primitive: bike2l1sc

Compiler output

Implementation: avx2_ntl
Security model: unknown
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
gf2x_mul.c: In file included from bike_defs.h:21,
gf2x_mul.c: from types.h:15,
gf2x_mul.c: from gf2x.h:15,
gf2x_mul.c: from gf2x_mul.c:12:
gf2x_mul.c: gf2x_mul.c: In function 'void karatzuba(uint64_t*, const uint64_t*, const uint64_t*, uint64_t, uint64_t*)':
gf2x_mul.c: gf2x_mul.c:56:31: error: non-constant condition for static assertion
gf2x_mul.c: 56 | bike_static_assert((n % 2 == 0), karatzuba_n_is_odd);
gf2x_mul.c: | ~~~~~~~^~~~~
gf2x_mul.c: defs.h:39:53: note: in definition of macro 'bike_static_assert'
gf2x_mul.c: 39 | #define bike_static_assert(COND, MSG) static_assert(COND, "MSG")
gf2x_mul.c: | ^~~~
gf2x_mul.c: gf2x_mul.c:56:31: error: 'n' is not a constant expression
gf2x_mul.c: 56 | bike_static_assert((n % 2 == 0), karatzuba_n_is_odd);
gf2x_mul.c: | ~~~~~~~^~~~~
gf2x_mul.c: defs.h:39:53: note: in definition of macro 'bike_static_assert'
gf2x_mul.c: 39 | #define bike_static_assert(COND, MSG) static_assert(COND, "MSG")
gf2x_mul.c: | ^~~~

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2_ntl
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2_ntl
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2_ntl
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2_ntl
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx512_ntl
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx512_ntl
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE avx512_ntl
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE avx512_ntl

Compiler output

Implementation: avx2_ntl
Security model: unknown
Compiler: icpc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer
gf2x_mul.c: gf2x_mul.c(56): error: expression must have a constant value
gf2x_mul.c: bike_static_assert((n % 2 == 0), karatzuba_n_is_odd);
gf2x_mul.c: ^
gf2x_mul.c: gf2x_mul.c(56): note: the value of parameter "n" (declared at line 45) cannot be used as a constant
gf2x_mul.c: bike_static_assert((n % 2 == 0), karatzuba_n_is_odd);
gf2x_mul.c: ^
gf2x_mul.c:
gf2x_mul.c: compilation aborted for gf2x_mul.c (code 2)

Number of similar (compiler,implementation) pairs: 72, namely:
CompilerImplementations
icpc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer avx2_ntl
icpc -march=broadwell -mtune=broadwell -O3 -fomit-frame-pointer avx2_ntl
icpc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer avx2_ntl
icpc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer avx2_ntl
icpc -march=core-avx-i -mtune=core-avx-i -O2 -fomit-frame-pointer avx2_ntl
icpc -march=core-avx-i -mtune=core-avx-i -O3 -fomit-frame-pointer avx2_ntl
icpc -march=core-avx2 -mtune=core-avx2 -O2 -fomit-frame-pointer avx2_ntl
icpc -march=core-avx2 -mtune=core-avx2 -O3 -fomit-frame-pointer avx2_ntl
icpc -march=corei7-avx -mtune=corei7-avx -O2 -fomit-frame-pointer avx2_ntl
icpc -march=corei7-avx -mtune=corei7-avx -O3 -fomit-frame-pointer avx2_ntl
icpc -march=corei7 -mtune=corei7 -O2 -fomit-frame-pointer avx2_ntl
icpc -march=corei7 -mtune=corei7 -O3 -fomit-frame-pointer avx2_ntl
icpc -march=haswell -mtune=haswell -O2 -fomit-frame-pointer avx2_ntl
icpc -march=haswell -mtune=haswell -O3 -fomit-frame-pointer avx2_ntl
icpc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer avx2_ntl
icpc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer avx2_ntl
icpc -march=ivybridge -mtune=ivybridge -O2 -fomit-frame-pointer avx2_ntl
icpc -march=ivybridge -mtune=ivybridge -O3 -fomit-frame-pointer avx2_ntl
icpc -march=sandybridge -mtune=sandybridge -O2 -fomit-frame-pointer avx2_ntl
icpc -march=sandybridge -mtune=sandybridge -O3 -fomit-frame-pointer avx2_ntl
icpc -march=skylake-avx512 -mtune=skylake-avx512 -O2 -fomit-frame-pointer avx2_ntl
icpc -march=skylake-avx512 -mtune=skylake-avx512 -O3 -fomit-frame-pointer avx2_ntl
icpc -march=skylake -mtune=skylake -O2 -fomit-frame-pointer avx2_ntl
icpc -march=skylake -mtune=skylake -O3 -fomit-frame-pointer avx2_ntl
icpc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer avx512_ntl
icpc -march=broadwell -mtune=broadwell -O3 -fomit-frame-pointer avx512_ntl
icpc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer avx512_ntl
icpc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer avx512_ntl
icpc -march=core-avx-i -mtune=core-avx-i -O2 -fomit-frame-pointer avx512_ntl
icpc -march=core-avx-i -mtune=core-avx-i -O3 -fomit-frame-pointer avx512_ntl
icpc -march=core-avx2 -mtune=core-avx2 -O2 -fomit-frame-pointer avx512_ntl
icpc -march=core-avx2 -mtune=core-avx2 -O3 -fomit-frame-pointer avx512_ntl
icpc -march=corei7-avx -mtune=corei7-avx -O2 -fomit-frame-pointer avx512_ntl
icpc -march=corei7-avx -mtune=corei7-avx -O3 -fomit-frame-pointer avx512_ntl
icpc -march=corei7 -mtune=corei7 -O2 -fomit-frame-pointer avx512_ntl
icpc -march=corei7 -mtune=corei7 -O3 -fomit-frame-pointer avx512_ntl
icpc -march=haswell -mtune=haswell -O2 -fomit-frame-pointer avx512_ntl
icpc -march=haswell -mtune=haswell -O3 -fomit-frame-pointer avx512_ntl
icpc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer avx512_ntl
icpc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer avx512_ntl
icpc -march=ivybridge -mtune=ivybridge -O2 -fomit-frame-pointer avx512_ntl
icpc -march=ivybridge -mtune=ivybridge -O3 -fomit-frame-pointer avx512_ntl
icpc -march=sandybridge -mtune=sandybridge -O2 -fomit-frame-pointer avx512_ntl
icpc -march=sandybridge -mtune=sandybridge -O3 -fomit-frame-pointer avx512_ntl
icpc -march=skylake-avx512 -mtune=skylake-avx512 -O2 -fomit-frame-pointer avx512_ntl
icpc -march=skylake-avx512 -mtune=skylake-avx512 -O3 -fomit-frame-pointer avx512_ntl
icpc -march=skylake -mtune=skylake -O2 -fomit-frame-pointer avx512_ntl
icpc -march=skylake -mtune=skylake -O3 -fomit-frame-pointer avx512_ntl
icpc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer ref_ntl
icpc -march=broadwell -mtune=broadwell -O3 -fomit-frame-pointer ref_ntl
icpc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer ref_ntl
icpc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer ref_ntl
icpc -march=core-avx-i -mtune=core-avx-i -O2 -fomit-frame-pointer ref_ntl
icpc -march=core-avx-i -mtune=core-avx-i -O3 -fomit-frame-pointer ref_ntl
icpc -march=core-avx2 -mtune=core-avx2 -O2 -fomit-frame-pointer ref_ntl
icpc -march=core-avx2 -mtune=core-avx2 -O3 -fomit-frame-pointer ref_ntl
icpc -march=corei7-avx -mtune=corei7-avx -O2 -fomit-frame-pointer ref_ntl
icpc -march=corei7-avx -mtune=corei7-avx -O3 -fomit-frame-pointer ref_ntl
icpc -march=corei7 -mtune=corei7 -O2 -fomit-frame-pointer ref_ntl
icpc -march=corei7 -mtune=corei7 -O3 -fomit-frame-pointer ref_ntl
icpc -march=haswell -mtune=haswell -O2 -fomit-frame-pointer ref_ntl
icpc -march=haswell -mtune=haswell -O3 -fomit-frame-pointer ref_ntl
icpc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer ref_ntl
icpc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer ref_ntl
icpc -march=ivybridge -mtune=ivybridge -O2 -fomit-frame-pointer ref_ntl
icpc -march=ivybridge -mtune=ivybridge -O3 -fomit-frame-pointer ref_ntl
icpc -march=sandybridge -mtune=sandybridge -O2 -fomit-frame-pointer ref_ntl
icpc -march=sandybridge -mtune=sandybridge -O3 -fomit-frame-pointer ref_ntl
icpc -march=skylake-avx512 -mtune=skylake-avx512 -O2 -fomit-frame-pointer ref_ntl
icpc -march=skylake-avx512 -mtune=skylake-avx512 -O3 -fomit-frame-pointer ref_ntl
icpc -march=skylake -mtune=skylake -O2 -fomit-frame-pointer ref_ntl
icpc -march=skylake -mtune=skylake -O3 -fomit-frame-pointer ref_ntl

Compiler output

Implementation: avx2_ossl
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
openssl_utils.c: openssl_utils.c: In function 'ossl_cyclic_product':
openssl_utils.c: openssl_utils.c:37:8: warning: implicit declaration of function 'BN_GF2m_mod_mul'; did you mean 'BN_mod_mul'? [-Wimplicit-function-declaration]
openssl_utils.c: 37 | if (BN_GF2m_mod_mul(r, a, b, m, bn_ctx) == 0) {
openssl_utils.c: | ^~~~~~~~~~~~~~~
openssl_utils.c: | BN_mod_mul
openssl_utils.c: openssl_utils.c: In function 'invert_poly':
openssl_utils.c: openssl_utils.c:64:19: warning: implicit declaration of function 'BN_GF2m_mod_inv' [-Wimplicit-function-declaration]
openssl_utils.c: 64 | inv_res = BN_GF2m_mod_inv(r, a, m, bn_ctx);
openssl_utils.c: | ^~~~~~~~~~~~~~~
openssl_utils.c: openssl_utils.c: In function 'ossl_add':
openssl_utils.c: openssl_utils.c:158:8: warning: implicit declaration of function 'BN_GF2m_add' [-Wimplicit-function-declaration]
openssl_utils.c: 158 | if (BN_GF2m_add(r, a, b) == 0) {
openssl_utils.c: | ^~~~~~~~~~~
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: crypto_kem_bike2l1sc.a(openssl_utils.o): in function `ossl_add':
try.c: openssl_utils.c:(.text+0x...): undefined reference to `BN_GF2m_add'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: crypto_kem_bike2l1sc.a(openssl_utils.o): in function `cyclic_product':
try.c: openssl_utils.c:(.text+0x...): undefined reference to `BN_GF2m_mod_mul'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: crypto_kem_bike2l1sc.a(openssl_utils.o): in function `mod_inv':
try.c: openssl_utils.c:(.text+0x...): undefined reference to `BN_GF2m_mod_inv'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2_ossl
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2_ossl
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2_ossl
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2_ossl
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx512_ossl
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx512_ossl
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE avx512_ossl
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE avx512_ossl
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref_ossl
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref_ossl
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE ref_ossl
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE ref_ossl

Compiler output

Implementation: avx2_ossl
Security model: unknown
Compiler: icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer
openssl_utils.c: openssl_utils.c(37): warning #266: function "BN_GF2m_mod_mul" declared implicitly
openssl_utils.c: if (BN_GF2m_mod_mul(r, a, b, m, bn_ctx) == 0) {
openssl_utils.c: ^
openssl_utils.c:
openssl_utils.c: openssl_utils.c(64): warning #266: function "BN_GF2m_mod_inv" declared implicitly
openssl_utils.c: inv_res = BN_GF2m_mod_inv(r, a, m, bn_ctx);
openssl_utils.c: ^
openssl_utils.c:
openssl_utils.c: openssl_utils.c(158): warning #266: function "BN_GF2m_add" declared implicitly
openssl_utils.c: if (BN_GF2m_add(r, a, b) == 0) {
openssl_utils.c: ^
openssl_utils.c:
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: crypto_kem_bike2l1sc.a(openssl_utils.o): in function `ossl_add':
try.c: openssl_utils.c:(.text+0x...): undefined reference to `BN_GF2m_add'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: crypto_kem_bike2l1sc.a(openssl_utils.o): in function `cyclic_product':
try.c: openssl_utils.c:(.text+0x...): undefined reference to `BN_GF2m_mod_mul'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: crypto_kem_bike2l1sc.a(openssl_utils.o): in function `mod_inv':
try.c: openssl_utils.c:(.text+0x...): undefined reference to `BN_GF2m_mod_inv'

Number of similar (compiler,implementation) pairs: 72, namely:
CompilerImplementations
icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer avx2_ossl
icc -march=broadwell -mtune=broadwell -O3 -fomit-frame-pointer avx2_ossl
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer avx2_ossl
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer avx2_ossl
icc -march=core-avx-i -mtune=core-avx-i -O2 -fomit-frame-pointer avx2_ossl
icc -march=core-avx-i -mtune=core-avx-i -O3 -fomit-frame-pointer avx2_ossl
icc -march=core-avx2 -mtune=core-avx2 -O2 -fomit-frame-pointer avx2_ossl
icc -march=core-avx2 -mtune=core-avx2 -O3 -fomit-frame-pointer avx2_ossl
icc -march=corei7-avx -mtune=corei7-avx -O2 -fomit-frame-pointer avx2_ossl
icc -march=corei7-avx -mtune=corei7-avx -O3 -fomit-frame-pointer avx2_ossl
icc -march=corei7 -mtune=corei7 -O2 -fomit-frame-pointer avx2_ossl
icc -march=corei7 -mtune=corei7 -O3 -fomit-frame-pointer avx2_ossl
icc -march=haswell -mtune=haswell -O2 -fomit-frame-pointer avx2_ossl
icc -march=haswell -mtune=haswell -O3 -fomit-frame-pointer avx2_ossl
icc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer avx2_ossl
icc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer avx2_ossl
icc -march=ivybridge -mtune=ivybridge -O2 -fomit-frame-pointer avx2_ossl
icc -march=ivybridge -mtune=ivybridge -O3 -fomit-frame-pointer avx2_ossl
icc -march=sandybridge -mtune=sandybridge -O2 -fomit-frame-pointer avx2_ossl
icc -march=sandybridge -mtune=sandybridge -O3 -fomit-frame-pointer avx2_ossl
icc -march=skylake-avx512 -mtune=skylake-avx512 -O2 -fomit-frame-pointer avx2_ossl
icc -march=skylake-avx512 -mtune=skylake-avx512 -O3 -fomit-frame-pointer avx2_ossl
icc -march=skylake -mtune=skylake -O2 -fomit-frame-pointer avx2_ossl
icc -march=skylake -mtune=skylake -O3 -fomit-frame-pointer avx2_ossl
icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer avx512_ossl
icc -march=broadwell -mtune=broadwell -O3 -fomit-frame-pointer avx512_ossl
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer avx512_ossl
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer avx512_ossl
icc -march=core-avx-i -mtune=core-avx-i -O2 -fomit-frame-pointer avx512_ossl
icc -march=core-avx-i -mtune=core-avx-i -O3 -fomit-frame-pointer avx512_ossl
icc -march=core-avx2 -mtune=core-avx2 -O2 -fomit-frame-pointer avx512_ossl
icc -march=core-avx2 -mtune=core-avx2 -O3 -fomit-frame-pointer avx512_ossl
icc -march=corei7-avx -mtune=corei7-avx -O2 -fomit-frame-pointer avx512_ossl
icc -march=corei7-avx -mtune=corei7-avx -O3 -fomit-frame-pointer avx512_ossl
icc -march=corei7 -mtune=corei7 -O2 -fomit-frame-pointer avx512_ossl
icc -march=corei7 -mtune=corei7 -O3 -fomit-frame-pointer avx512_ossl
icc -march=haswell -mtune=haswell -O2 -fomit-frame-pointer avx512_ossl
icc -march=haswell -mtune=haswell -O3 -fomit-frame-pointer avx512_ossl
icc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer avx512_ossl
icc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer avx512_ossl
icc -march=ivybridge -mtune=ivybridge -O2 -fomit-frame-pointer avx512_ossl
icc -march=ivybridge -mtune=ivybridge -O3 -fomit-frame-pointer avx512_ossl
icc -march=sandybridge -mtune=sandybridge -O2 -fomit-frame-pointer avx512_ossl
icc -march=sandybridge -mtune=sandybridge -O3 -fomit-frame-pointer avx512_ossl
icc -march=skylake-avx512 -mtune=skylake-avx512 -O2 -fomit-frame-pointer avx512_ossl
icc -march=skylake-avx512 -mtune=skylake-avx512 -O3 -fomit-frame-pointer avx512_ossl
icc -march=skylake -mtune=skylake -O2 -fomit-frame-pointer avx512_ossl
icc -march=skylake -mtune=skylake -O3 -fomit-frame-pointer avx512_ossl
icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer ref_ossl
icc -march=broadwell -mtune=broadwell -O3 -fomit-frame-pointer ref_ossl
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer ref_ossl
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer ref_ossl
icc -march=core-avx-i -mtune=core-avx-i -O2 -fomit-frame-pointer ref_ossl
icc -march=core-avx-i -mtune=core-avx-i -O3 -fomit-frame-pointer ref_ossl
icc -march=core-avx2 -mtune=core-avx2 -O2 -fomit-frame-pointer ref_ossl
icc -march=core-avx2 -mtune=core-avx2 -O3 -fomit-frame-pointer ref_ossl
icc -march=corei7-avx -mtune=corei7-avx -O2 -fomit-frame-pointer ref_ossl
icc -march=corei7-avx -mtune=corei7-avx -O3 -fomit-frame-pointer ref_ossl
icc -march=corei7 -mtune=corei7 -O2 -fomit-frame-pointer ref_ossl
icc -march=corei7 -mtune=corei7 -O3 -fomit-frame-pointer ref_ossl
icc -march=haswell -mtune=haswell -O2 -fomit-frame-pointer ref_ossl
icc -march=haswell -mtune=haswell -O3 -fomit-frame-pointer ref_ossl
icc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer ref_ossl
icc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer ref_ossl
icc -march=ivybridge -mtune=ivybridge -O2 -fomit-frame-pointer ref_ossl
icc -march=ivybridge -mtune=ivybridge -O3 -fomit-frame-pointer ref_ossl
icc -march=sandybridge -mtune=sandybridge -O2 -fomit-frame-pointer ref_ossl
icc -march=sandybridge -mtune=sandybridge -O3 -fomit-frame-pointer ref_ossl
icc -march=skylake-avx512 -mtune=skylake-avx512 -O2 -fomit-frame-pointer ref_ossl
icc -march=skylake-avx512 -mtune=skylake-avx512 -O3 -fomit-frame-pointer ref_ossl
icc -march=skylake -mtune=skylake -O2 -fomit-frame-pointer ref_ossl
icc -march=skylake -mtune=skylake -O3 -fomit-frame-pointer ref_ossl

Compiler output

Implementation: ref_ntl
Security model: unknown
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
gf2x_mul.c: In file included from bike_defs.h:20,
gf2x_mul.c: from types.h:15,
gf2x_mul.c: from gf2x.h:15,
gf2x_mul.c: from gf2x_mul.c:12:
gf2x_mul.c: gf2x_mul.c: In function 'void karatzuba(uint64_t*, const uint64_t*, const uint64_t*, uint64_t, uint64_t*)':
gf2x_mul.c: gf2x_mul.c:56:31: error: non-constant condition for static assertion
gf2x_mul.c: 56 | bike_static_assert((n % 2 == 0), karatzuba_n_is_odd);
gf2x_mul.c: | ~~~~~~~^~~~~
gf2x_mul.c: defs.h:39:53: note: in definition of macro 'bike_static_assert'
gf2x_mul.c: 39 | #define bike_static_assert(COND, MSG) static_assert(COND, "MSG")
gf2x_mul.c: | ^~~~
gf2x_mul.c: gf2x_mul.c:56:31: error: 'n' is not a constant expression
gf2x_mul.c: 56 | bike_static_assert((n % 2 == 0), karatzuba_n_is_odd);
gf2x_mul.c: | ~~~~~~~^~~~~
gf2x_mul.c: defs.h:39:53: note: in definition of macro 'bike_static_assert'
gf2x_mul.c: 39 | #define bike_static_assert(COND, MSG) static_assert(COND, "MSG")
gf2x_mul.c: | ^~~~

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref_ntl
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref_ntl
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE ref_ntl
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE ref_ntl