Implementation notes: amd64, pmnod076, crypto_kem/mceliece8192128f

Computer: pmnod076
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20191017
Operation: crypto_kem
Primitive: mceliece8192128f
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
489640133417 0 0206559 856 1608avxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
733468249637 0 0309471 856 1608ssegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
80930075488 0 0133247 856 1608ssegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
82122075138 0 0132735 856 1608ssegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
92374471278 0 0127831 848 1576ssegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
1769642270696 0 0332375 856 1608vecgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
1993538146168 0 0211692 880 1608vecicc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102420191017
2006202145992 0 0211660 880 1608vecicc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102420191017
2021580147288 0 0210988 880 1576vecicc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102420191017
2025750147608 0 0213340 880 1608vecicc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102420191017
2061698145904 0 0210924 880 1576vecicc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102420191017
2064598145904 0 0210924 880 1576vecicc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102420191017
2065062145904 0 0210924 880 1576vecicc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102420191017
2065428145904 0 0210924 880 1576vecicc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102420191017
2140158148928 0 0213916 880 1576vecicc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102420191017
2141552149128 0 0212772 880 1576vecicc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102420191017
2143588148928 0 0213916 880 1576vecicc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102420191017
2178104148928 0 0213916 880 1576vecicc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102420191017
2190514148928 0 0213916 880 1576vecicc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102420191017
2193694148912 0 0214996 880 1608vecicc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102420191017
2219136143352 0 0208308 880 1576vecicc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102420191017
2219972143352 0 0208308 880 1576vecicc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102420191017
2232984143368 0 0208724 880 1576vecicc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102420191017
2241700143368 0 0208724 880 1576vecicc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102420191017
2241704143320 0 0208676 880 1576vecicc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102420191017
2243190143352 0 0208708 880 1576vecicc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102420191017
2269252143336 0 0208292 880 1576vecicc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102420191017
2472426143336 0 0208292 880 1576vecicc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102420191017
300060674991 0 0135023 856 1608vecgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
302237075311 0 0135399 856 1608vecgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
310909465668 0 0124647 848 1576vecgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
33827423855416 0 0121196 880 1608reficc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102420191017
33848172056304 0 0122436 880 1608reficc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102420191017
33863965446416 0 0110116 880 1576reficc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102420191017
33871832246968 0 0111924 880 1576reficc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102420191017
33876471846968 0 0111924 880 1576reficc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102420191017
33884713046968 0 0111924 880 1576reficc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102420191017
33894366046968 0 0111924 880 1576reficc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102420191017
33895615045432 0 0109076 880 1576reficc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102420191017
33904283046480 0 0111404 880 1576reficc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102420191017
33907270846480 0 0111404 880 1576reficc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102420191017
33911309446480 0 0111404 880 1576reficc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102420191017
33916963646480 0 0111404 880 1576reficc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102420191017
34056060252856 0 0117812 880 1576reficc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102420191017
34111351652856 0 0117812 880 1576reficc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102420191017
34116136655472 0 0120996 880 1608reficc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102420191017
34213785654704 0 0120372 880 1608reficc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102420191017
34238259452872 0 0117828 880 1576reficc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102420191017
34245541452872 0 0117828 880 1576reficc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102420191017
34351605252096 0 0117452 880 1576reficc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102420191017
34358443852112 0 0117468 880 1576reficc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102420191017
34365213052112 0 0117468 880 1576reficc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102420191017
34370430052096 0 0117452 880 1576reficc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102420191017
363314446181833 0 0244469 864 1608refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
48688528415652 0 075911 856 1608refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
49150372015782 0 075839 856 1608refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
49718147412456 0 071351 848 1576refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017

Test failure

Implementation: ref
Security model: unknown
Compiler: icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer
error 111

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

Compiler output

Implementation: avx
Security model: unknown
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: avx
Security model: unknown
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: sse
Security model: unknown
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: vec
Security model: unknown
Compiler: icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer
pk_gen.c: pk_gen.c(203): 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