Implementation notes: amd64, pmnod076, crypto_kem/ntskem1264

Computer: pmnod076
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20191017
Operation: crypto_kem
Primitive: ntskem1264
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
39499493735 6228 16123687 7136 1640avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
41308866913 6228 1694311 7136 1640avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
42054665341 6228 1692615 7136 1640avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
45328260481 6228 1687879 7136 1640sse2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
46287258966 6228 1686239 7136 1640sse2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
46409087024 6228 16117023 7136 1640sse2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
51224259492 6228 1685950 7128 1608avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
57278054691 6228 1681214 7128 1608sse2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
699720187144 6276 16221981 7192 1640opticc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102420191017
700230155408 6276 16189373 7192 1608opticc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102420191017
700260155408 6276 16189373 7192 1608opticc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102420191017
703106155408 6276 16189373 7192 1608opticc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102420191017
705558155408 6276 16189373 7192 1608opticc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102420191017
706890155120 6276 16189621 7192 1640opticc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102420191017
716186150616 6276 16185229 7192 1640opticc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102420191017
727828179696 6276 16214885 7192 1640opticc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102420191017
73033488476 6228 16120023 7136 1640optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
740486150832 6276 16185197 7192 1608opticc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102420191017
741038150832 6276 16185197 7192 1608opticc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102420191017
741682150832 6276 16185197 7192 1608opticc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102420191017
742926150848 6276 16185213 7192 1608opticc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102420191017
78017855520 6228 1684567 7136 1640optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
786358120592 6276 16154589 7192 1608opticc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102420191017
786516120592 6276 16154589 7192 1608opticc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102420191017
786714120592 6276 16154589 7192 1608opticc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102420191017
789662120592 6276 16154589 7192 1608opticc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102420191017
793476120224 6276 16152973 7192 1608opticc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102420191017
794726121008 6276 16153813 7192 1608opticc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102420191017
796268121792 6276 16155821 7192 1608opticc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102420191017
796392121792 6276 16155821 7192 1608opticc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102420191017
798220121792 6276 16155821 7192 1608opticc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102420191017
809538121792 6276 16155821 7192 1608opticc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102420191017
85171053949 6228 1682783 7136 1640optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
92250449459 6228 1677342 7128 1608optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
5971862108256 100 16142613 1016 1608reficc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102420191017
5976172108256 100 16142613 1016 1608reficc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102420191017
5993696108272 100 16142629 1016 1608reficc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102420191017
5999930108632 100 16143269 1016 1640reficc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102420191017
6014356108272 100 16142629 1016 1608reficc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102420191017
6076888112848 100 16147373 1016 1640reficc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102420191017
6118874111800 100 16145757 1016 1608reficc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102420191017
6125368111800 100 16145757 1016 1608reficc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102420191017
6127414111800 100 16145757 1016 1608reficc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102420191017
6134284111800 100 16145757 1016 1608reficc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102420191017
6136726135648 100 16170829 1016 1640reficc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102420191017
6173196143376 100 16178205 1016 1640reficc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102420191017
623145478352 100 16111149 1016 1608reficc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102420191017
625057075888 100 16109877 1016 1608reficc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102420191017
625412075888 100 16109877 1016 1608reficc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102420191017
625620247774 76 1679463 960 1640refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
625757875888 100 16109877 1016 1608reficc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102420191017
625840476368 100 16109109 1016 1608reficc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102420191017
625881278256 100 16112277 1016 1608reficc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102420191017
626173078256 100 16112277 1016 1608reficc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102420191017
626216678256 100 16112277 1016 1608reficc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102420191017
626329875888 100 16109877 1016 1608reficc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102420191017
627168278256 100 16112277 1016 1608reficc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102420191017
632103624543 76 1653575 960 1640refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
666741622830 76 1651655 960 1640refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
792322419286 76 1647158 952 1608refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017

Test failure

Implementation: opt
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 opt
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer opt
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer ref
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer ref

Compiler output

Implementation: avx2
Security model: unknown
Compiler: icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer
nts_kem.c: nts_kem.c(717): error: expression must have integral type
nts_kem.c: v[i] = ~v[i];
nts_kem.c: ^
nts_kem.c:
nts_kem.c: compilation aborted for nts_kem.c (code 2)

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

Compiler output

Implementation: avx2
Security model: unknown
Compiler: icc -march=core-avx-i -mtune=core-avx-i -O2 -fomit-frame-pointer
ff.c: ff.c(104): warning #167: argument of type "vector *" is incompatible with parameter of type "__m256i *"
ff.c: bitslice_mul12_256(c, a, b);
ff.c: ^
ff.c:
ff.c: ff.c(104): warning #167: argument of type "const vector *" is incompatible with parameter of type "const __m256i *"
ff.c: bitslice_mul12_256(c, a, b);
ff.c: ^
ff.c:
ff.c: ff.c(104): warning #167: argument of type "const vector *" is incompatible with parameter of type "const __m256i *"
ff.c: bitslice_mul12_256(c, a, b);
ff.c: ^
ff.c:
nts_kem.c: nts_kem.c(373): error: a value of type "union __m256i" cannot be assigned to an entity of type "vector"
nts_kem.c: Q[i][NTS_KEM_PARAM_R_VEC-1] = _mm256_setzero_si256();
nts_kem.c: ^
nts_kem.c:
nts_kem.c: nts_kem.c(409): error: a value of type "union __m256i" cannot be assigned to an entity of type "vector"
nts_kem.c: c_c[i] = _mm256_setzero_si256();
nts_kem.c: ^
nts_kem.c:
nts_kem.c: nts_kem.c(517): error: a value of type "union __m256i" cannot be used to initialize an entity of type "vector"
nts_kem.c: vector allones = _mm256_set1_epi64x(-1);
nts_kem.c: ^
nts_kem.c:
nts_kem.c: nts_kem.c(592): warning #167: argument of type "vector (*)[12]" is incompatible with parameter of type "__m256i (*)[12]"
nts_kem.c: bitslice_fft(evals, sigma, -(1ULL-extended_error));
nts_kem.c: ^
nts_kem.c:
nts_kem.c: nts_kem.c(608): warning #167: argument of type "vector *" is incompatible with parameter of type "const __m256i *"
nts_kem.c: error[i] = vector_ff_or(evals[i]);
nts_kem.c: ^
nts_kem.c:
nts_kem.c: nts_kem.c(608): error: a value of type "__m256i" cannot be assigned to an entity of type "vector"
nts_kem.c: error[i] = vector_ff_or(evals[i]);
nts_kem.c: ^
nts_kem.c:
nts_kem.c: nts_kem.c(609): error: argument of type "vector" is incompatible with parameter of type "union __m256i"
nts_kem.c: ...

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
icc -march=core-avx-i -mtune=core-avx-i -O2 -fomit-frame-pointer avx2
icc -march=core-avx-i -mtune=core-avx-i -O3 -fomit-frame-pointer avx2
icc -march=corei7-avx -mtune=corei7-avx -O2 -fomit-frame-pointer avx2
icc -march=corei7-avx -mtune=corei7-avx -O3 -fomit-frame-pointer avx2
icc -march=corei7 -mtune=corei7 -O2 -fomit-frame-pointer avx2
icc -march=corei7 -mtune=corei7 -O3 -fomit-frame-pointer avx2
icc -march=ivybridge -mtune=ivybridge -O2 -fomit-frame-pointer avx2
icc -march=ivybridge -mtune=ivybridge -O3 -fomit-frame-pointer avx2
icc -march=sandybridge -mtune=sandybridge -O2 -fomit-frame-pointer avx2
icc -march=sandybridge -mtune=sandybridge -O3 -fomit-frame-pointer avx2