Implementation notes: amd64, genji262, crypto_kem/bike2l1nc

Computer: genji262
Architecture: amd64
CPU ID: AuthenticAMD-00800f12-178bfbff
SUPERCOP version: 20191017
Operation: crypto_kem
Primitive: bike2l1nc

Compiler output

Implementation: avx2_ntl
Security model: unknown
Compiler: clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
aes.c: clang-6.0: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
aes.c: In file included from aes.c:12:
aes.c: In file included from ./aes.h:21:
aes.c: In file included from /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/wmmintrin.h:31:
aes.c: In file included from /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/emmintrin.h:31:
aes.c: In file included from /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/xmmintrin.h:31:
aes.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/mmintrin.h:55:72: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
aes.c: extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
aes.c: ^
aes.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/mmintrin.h:61:72: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
aes.c: extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
aes.c: ^
aes.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/mmintrin.h:68:74: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
aes.c: extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
aes.c: ^
aes.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/mmintrin.h:74:74: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
aes.c: extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
aes.c: ^
aes.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/mmintrin.h:84:74: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
aes.c: extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
aes.c: ^
aes.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/mmintrin.h:90:74: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
aes.c: extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
aes.c: ^
aes.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/mmintrin.h:97:74: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
aes.c: ...

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2_ntl
clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2_ntl
clang++ -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2_ntl
clang++ -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2_ntl
clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx512_ntl
clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx512_ntl
clang++ -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx512_ntl
clang++ -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx512_ntl
clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref_ntl
clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref_ntl
clang++ -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref_ntl
clang++ -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref_ntl

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: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: 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: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
aes_ctr_prf.c: In file included from aes_ctr_prf.c:13:
aes_ctr_prf.c: In file included from ./aes_ctr_prf.h:15:
aes_ctr_prf.c: ./aes.h:19:12: fatal error: 'openssl/evp.h' file not found
aes_ctr_prf.c: #include <openssl/evp.h>
aes_ctr_prf.c: ^~~~~~~~~~~~~~~
aes_ctr_prf.c: 1 error generated.

Number of similar (compiler,implementation) pairs: 15, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2_ossl
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2_ossl
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2_ossl
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2_ossl
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2_ossl
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx512_ossl
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx512_ossl
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx512_ossl
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx512_ossl
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx512_ossl
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref_ossl
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref_ossl
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref_ossl
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref_ossl
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref_ossl

Compiler output

Implementation: avx2_ossl
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
aes_ctr_prf.c: In file included from aes_ctr_prf.h:15,
aes_ctr_prf.c: from aes_ctr_prf.c:13:
aes_ctr_prf.c: aes.h:19:12: fatal error: openssl/evp.h: No such file or directory
aes_ctr_prf.c: 19 | #include <openssl/evp.h>
aes_ctr_prf.c: | ^~~~~~~~~~~~~~~
aes_ctr_prf.c: compilation terminated.

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
aes_ctr_prf.c: In file included from aes_ctr_prf.h(15),
aes_ctr_prf.c: from aes_ctr_prf.c(13):
aes_ctr_prf.c: aes.h(19): catastrophic error: cannot open source file "openssl/evp.h"
aes_ctr_prf.c: #include <openssl/evp.h>
aes_ctr_prf.c: ^
aes_ctr_prf.c:
aes_ctr_prf.c: compilation aborted for aes_ctr_prf.c (code 4)

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:19,
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