Implementation notes: amd64, genji239, crypto_kem/mceliece6960119f

Computer: genji239
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20191017
Operation: crypto_kem
Primitive: mceliece6960119f
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
417142129366 0 0201645 840 1608avxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102120191017
636508241910 0 0301437 840 1608ssegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102120191017
70279066599 0 0124077 840 1608ssegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102120191017
71691466321 0 0123717 840 1608ssegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102120191017
79978862111 0 0118405 832 1576ssegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102120191017
1750042257713 0 0319173 840 1608vecgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102120191017
1856510134144 0 0199484 880 1608vecicc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102120191017
1887462133728 0 0199148 880 1608vecicc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102120191017
1938328131496 0 0195076 880 1576vecicc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102120191017
1953294130512 0 0195364 880 1576vecicc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102120191017
1953346130512 0 0195364 880 1576vecicc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102120191017
1953756130512 0 0195364 880 1576vecicc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102120191017
1953838130512 0 0195364 880 1576vecicc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102120191017
1994974132544 0 0196068 880 1576vecicc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102120191017
2009736133064 0 0197884 880 1576vecicc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102120191017
2013648133064 0 0197884 880 1576vecicc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102120191017
2014074133064 0 0197884 880 1576vecicc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102120191017
2014992133064 0 0197884 880 1576vecicc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102120191017
2096880136856 0 0202388 880 1608vecicc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102120191017
2110688129936 0 0195076 880 1576vecicc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102120191017
2112006129936 0 0195076 880 1576vecicc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102120191017
2114736129904 0 0195044 880 1576vecicc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102120191017
2120616129936 0 0195076 880 1576vecicc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102120191017
2122826130288 0 0195028 880 1576vecicc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102120191017
2129820130288 0 0195028 880 1576vecicc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102120191017
2133340130288 0 0195028 880 1576vecicc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102120191017
2251162137552 0 0203436 880 1608vecicc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102120191017
2364760130288 0 0195028 880 1576vecicc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102120191017
284522862265 0 0122093 840 1608vecgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102120191017
290892452463 0 0111205 832 1576vecgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102120191017
292630462150 0 0121933 840 1608vecgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102120191017
27278552252064 0 0116924 880 1576reficc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102120191017
27293959652064 0 0116924 880 1576reficc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102120191017
27297351652064 0 0116924 880 1576reficc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102120191017
27298786452064 0 0116924 880 1576reficc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102120191017
27343303849872 0 0113404 880 1576reficc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102120191017
27366665450504 0 0115332 880 1576reficc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102120191017
27374111250504 0 0115332 880 1576reficc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102120191017
27377498651856 0 0115444 880 1576reficc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102120191017
27386530850504 0 0115332 880 1576reficc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102120191017
27395241650504 0 0115332 880 1576reficc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102120191017
27527910257216 0 0122396 880 1576reficc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102120191017
27555061857216 0 0122396 880 1576reficc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102120191017
27556646264160 0 0129508 880 1608reficc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102120191017
27565992657216 0 0122396 880 1576reficc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102120191017
27568942259176 0 0123956 880 1576reficc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102120191017
27577476859176 0 0123956 880 1576reficc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102120191017
27600023659176 0 0123956 880 1576reficc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102120191017
27611294257216 0 0122396 880 1576reficc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102120191017
27628232862248 0 0127708 880 1608reficc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102120191017
27659756659176 0 0123956 880 1576reficc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102120191017
288964078184524 0 0246875 848 1608refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102120191017
38907854416240 0 076253 840 1608refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102120191017
39333116616238 0 076037 840 1608refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102120191017
39679570412793 0 071429 832 1576refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102120191017

Test failure

Implementation: crypto_kem/mceliece6960119f/ref
Compiler: icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer ref vec
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer ref vec
icc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer ref
icc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer ref

Compiler output

Implementation: crypto_kem/mceliece6960119f/avx
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
bm.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/immintrin.h:51,
bm.c: from vec256.h:11,
bm.c: from bm.h:10,
bm.c: from bm.c:6:
bm.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/avxintrin.h: In function 'bm':
bm.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/avxintrin.h:524:20: error: the last argument must be a 1-bit immediate
bm.c: 524 | return (__m128i) __builtin_ia32_vextractf128_si256 ((__v8si)__X, __N);
bm.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bm.c: In file included from vec128.h:12,
bm.c: from bm.h:9,
bm.c: from bm.c:6:
bm.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/smmintrin.h:456:10: error: selector must be an integer constant in the range 0..1
bm.c: 456 | return __builtin_ia32_vec_ext_v2di ((__v2di)__X, __N);
bm.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE avx
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE avx

Compiler output

Implementation: crypto_kem/mceliece6960119f/sse
Compiler: icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer
bm.c: bm.c(129): (col. 30) catastrophic error: Intrinsic parameter must be an immediate value
bm.c: compilation aborted for bm.c (code 1)

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

Compiler output

Implementation: crypto_kem/mceliece6960119f/avx
Compiler: icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer
bm.c: bm.c(133): (col. 30) catastrophic error: Intrinsic parameter must be an immediate value
bm.c: compilation aborted for bm.c (code 1)

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

Compiler output

Implementation: crypto_kem/mceliece6960119f/vec
Compiler: icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer
pk_gen.c: pk_gen.c(205): warning #167: argument of type "vec={uint64_t={unsigned long}} (*)[13]" is incompatible with parameter of type "const vec={uint64_t={unsigned long}} (*)[13]"
pk_gen.c: de_bitslicing(list, prod);
pk_gen.c: ^
pk_gen.c:

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