Implementation notes: amd64, pmnod003, crypto_kem/ntskem1264

Computer: pmnod003
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20190910
Operation: crypto_kem
Primitive: ntskem1264
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
39983893735 6228 16123499 7136 1640avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
41492266913 6228 1694123 7136 1640avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
41971265341 6228 1692427 7136 1640avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
44132487024 6228 16116835 7136 1640sse2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
45325860481 6228 1687755 7136 1640sse2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
46218858966 6228 1686115 7136 1640sse2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
50960259492 6228 1685762 7128 1608avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
57275054691 6228 1681026 7128 1608sse2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
702222153160 6276 16187237 7192 1640opticc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091320190910
702436154840 6276 16189237 7192 1640opticc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091320190910
704328155312 6276 16189093 7192 1608opticc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091320190910
71719888476 6228 16119899 7136 1640optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
721608149152 6276 16183757 7192 1640opticc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091320190910
741242150624 6276 16184821 7192 1608opticc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091320190910
744788150328 6276 16184821 7192 1640opticc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091320190910
76358655520 6228 1684379 7136 1640optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
774542129496 6276 16163512 7200 1608opticc_-xAVX_-O3_-fomit-frame-pointer2019091320190910
779998129496 6276 16163512 7200 1608opticc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091320190910
793248126680 6276 16160648 7200 1608opticc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091320190910
793828126680 6276 16160648 7200 1608opticc_-xAVX_-O2_-fomit-frame-pointer2019091320190910
798702129368 6276 16162220 7200 1608opticc_-xSSE4.1_-O3_-fomit-frame-pointer2019091320190910
801500129208 6276 16161936 7200 1608opticc_-xSSE4.2_-O3_-fomit-frame-pointer2019091320190910
804504126768 6276 16159424 7200 1608opticc_-xSSE4.2_-O2_-fomit-frame-pointer2019091320190910
806260126800 6276 16159564 7200 1608opticc_-xSSE4.1_-O2_-fomit-frame-pointer2019091320190910
84665253949 6228 1682595 7136 1640optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
90475849459 6228 1677154 7128 1608optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
5983644105520 100 16140085 1016 1640reficc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091320190910
6011484108272 100 16142461 1016 1608reficc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091320190910
6033984108648 100 16143101 1016 1640reficc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091320190910
6035384108688 100 16142725 1016 1640reficc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091320190910
6129440112880 100 16147237 1016 1640reficc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091320190910
6143004111368 100 16145141 1016 1608reficc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091320190910
622004281968 100 16115928 1024 1608reficc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091320190910
622106086704 100 16119424 1024 1608reficc_-xSSE4.2_-O3_-fomit-frame-pointer2019091320190910
622656486848 100 16119692 1024 1608reficc_-xSSE4.1_-O3_-fomit-frame-pointer2019091320190910
624846885832 100 16119840 1024 1608reficc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091320190910
624962447774 76 1679339 960 1640refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
625092082992 100 16115640 1024 1608reficc_-xSSE4.2_-O2_-fomit-frame-pointer2019091320190910
625385085832 100 16119840 1024 1608reficc_-xAVX_-O3_-fomit-frame-pointer2019091320190910
626661081968 100 16115928 1024 1608reficc_-xAVX_-O2_-fomit-frame-pointer2019091320190910
631923883056 100 16115812 1024 1608reficc_-xSSE4.1_-O2_-fomit-frame-pointer2019091320190910
635819224543 76 1653387 960 1640refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
669412022830 76 1651467 960 1640refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
792466819286 76 1646970 952 1608refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910

Compiler output

Implementation: avx2
Security model: unknown
Compiler: icc -xAVX -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: 8, namely:
CompilerImplementations
icc -xAVX -O2 -fomit-frame-pointer avx2
icc -xAVX -O3 -fomit-frame-pointer avx2
icc -xCORE-AVX-I -O2 -fomit-frame-pointer avx2
icc -xCORE-AVX-I -O3 -fomit-frame-pointer avx2
icc -xSSE4.1 -O2 -fomit-frame-pointer avx2
icc -xSSE4.1 -O3 -fomit-frame-pointer avx2
icc -xSSE4.2 -O2 -fomit-frame-pointer avx2
icc -xSSE4.2 -O3 -fomit-frame-pointer avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: icc -xCOMMON-AVX512 -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: 20, namely:
CompilerImplementations
icc -xCOMMON-AVX512 -O2 -fomit-frame-pointer avx2
icc -xCOMMON-AVX512 -O3 -fomit-frame-pointer avx2
icc -xCORE-AVX2 -O2 -fomit-frame-pointer avx2
icc -xCORE-AVX2 -O3 -fomit-frame-pointer avx2
icc -xCORE-AVX512 -O2 -fomit-frame-pointer avx2
icc -xCORE-AVX512 -O3 -fomit-frame-pointer avx2
icc -xAVX -O2 -fomit-frame-pointer sse2
icc -xAVX -O3 -fomit-frame-pointer sse2
icc -xCOMMON-AVX512 -O2 -fomit-frame-pointer sse2
icc -xCOMMON-AVX512 -O3 -fomit-frame-pointer sse2
icc -xCORE-AVX-I -O2 -fomit-frame-pointer sse2
icc -xCORE-AVX-I -O3 -fomit-frame-pointer sse2
icc -xCORE-AVX2 -O2 -fomit-frame-pointer sse2
icc -xCORE-AVX2 -O3 -fomit-frame-pointer sse2
icc -xCORE-AVX512 -O2 -fomit-frame-pointer sse2
icc -xCORE-AVX512 -O3 -fomit-frame-pointer sse2
icc -xSSE4.1 -O2 -fomit-frame-pointer sse2
icc -xSSE4.1 -O3 -fomit-frame-pointer sse2
icc -xSSE4.2 -O2 -fomit-frame-pointer sse2
icc -xSSE4.2 -O3 -fomit-frame-pointer sse2