Implementation notes: amd64, genji548, crypto_kem/mceliece460896f

Computer: genji548
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20191017
Operation: crypto_kem
Primitive: mceliece460896f
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
314762128074 0 0200157 840 1608avxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
473708240518 0 0299261 840 1608ssegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
53635665793 0 0122373 840 1608ssegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
53847866071 0 0122733 840 1608ssegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
57803261549 0 0117093 832 1576ssegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
1476246256681 0 0317285 840 1608vecgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
1645104133632 0 0196484 880 1576vecicc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102020191017
1662770128728 0 0193308 880 1608vecicc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102020191017
1671974132176 0 0196284 880 1576vecicc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102020191017
1673174132176 0 0196284 880 1576vecicc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102020191017
1673760132176 0 0196284 880 1576vecicc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102020191017
1674954132176 0 0196284 880 1576vecicc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102020191017
1685546135200 0 0197996 880 1576vecicc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102020191017
1694086128896 0 0193556 880 1608vecicc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102020191017
1697946126936 0 0190916 880 1576vecicc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102020191017
1701458126936 0 0190916 880 1576vecicc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102020191017
1711012126936 0 0190916 880 1576vecicc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102020191017
1717852127136 0 0191516 880 1576vecicc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102020191017
1718998127136 0 0191516 880 1576vecicc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102020191017
1720894135080 0 0199156 880 1576vecicc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102020191017
1721984135080 0 0199156 880 1576vecicc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102020191017
1722186135080 0 0199156 880 1576vecicc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102020191017
1722512135080 0 0199156 880 1576vecicc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102020191017
1753972127088 0 0191468 880 1576vecicc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102020191017
1855952140840 0 0205644 880 1608vecicc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102020191017
1911208126936 0 0190916 880 1576vecicc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102020191017
1944028127136 0 0191516 880 1576vecicc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102020191017
2076710142624 0 0207780 880 1608vecicc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102020191017
240734261994 0 0120997 840 1608vecgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
245319252246 0 0110205 832 1576vecgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
251383861845 0 0120789 840 1608vecgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
14352175251128 0 0115108 880 1576reficc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102020191017
14353555451128 0 0115108 880 1576reficc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102020191017
14358550255368 0 0119916 880 1608reficc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102020191017
14359723050312 0 0114692 880 1576reficc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102020191017
14361008851128 0 0115108 880 1576reficc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102020191017
14362953650312 0 0114692 880 1576reficc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102020191017
14363700650312 0 0114692 880 1576reficc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102020191017
14365611851128 0 0115108 880 1576reficc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102020191017
14373891050312 0 0114692 880 1576reficc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102020191017
14550735854584 0 0119276 880 1608reficc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102020191017
14685103245240 0 0108060 880 1576reficc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102020191017
14703218445024 0 0109068 880 1576reficc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102020191017
14704239445024 0 0109068 880 1576reficc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102020191017
14706473445024 0 0109068 880 1576reficc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102020191017
14707196445544 0 0109620 880 1576reficc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102020191017
14708178845024 0 0109068 880 1576reficc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102020191017
14710931445544 0 0109620 880 1576reficc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102020191017
14711011644328 0 0107092 880 1576reficc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102020191017
14756826445544 0 0109620 880 1576reficc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102020191017
14794007245544 0 0109620 880 1576reficc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102020191017
155707188181682 0 0243211 848 1608refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
20768103215911 0 075077 840 1608refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
21106123815960 0 074917 840 1608refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
21161068412511 0 070381 832 1576refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017

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: 6, namely:
CompilerImplementations
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer ref
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer ref
icc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer ref
icc -march=icelake-client -mtune=icelake-client -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(198): 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