Implementation notes: amd64, pmnod003, crypto_kem/ntskem1380

Computer: pmnod003
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20190910
Operation: crypto_kem
Primitive: ntskem1380
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
92169099261 84 16129155 992 1640avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
96567281971 84 16109211 992 1640avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
97038883412 84 16110731 992 1640avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
97965890402 84 16120379 992 1640sse2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
101977275429 84 16102771 992 1640sse2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
104036074170 84 16101435 992 1640sse2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
104838875559 84 16101882 984 1608avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
117371669495 84 1695850 984 1608sse2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
157269496686 84 16128219 992 1640optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
1578138184744 108 16218589 1048 1608opticc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091320190910
1588756161424 108 16195853 1048 1640opticc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091320190910
1593776150960 108 16185581 1048 1640opticc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091320190910
1617140164000 108 16198093 1048 1640opticc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091320190910
1621196148728 108 16183285 1048 1640opticc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091320190910
1627500155416 108 16189709 1048 1608opticc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091320190910
165429269101 84 1698083 992 1640optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
1671536144600 108 16177304 1056 1608opticc_-xSSE4.2_-O2_-fomit-frame-pointer2019091320190910
167990867703 84 1696443 992 1640optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
1681924143976 108 16177992 1056 1608opticc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091320190910
1683416143976 108 16177992 1056 1608opticc_-xAVX_-O2_-fomit-frame-pointer2019091320190910
1686058146968 108 16179728 1056 1608opticc_-xSSE4.2_-O3_-fomit-frame-pointer2019091320190910
1692628146112 108 16180160 1056 1608opticc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091320190910
1692958146112 108 16180160 1056 1608opticc_-xAVX_-O3_-fomit-frame-pointer2019091320190910
1724038144816 108 16177516 1056 1608opticc_-xSSE4.1_-O2_-fomit-frame-pointer2019091320190910
1731394147192 108 16179964 1056 1608opticc_-xSSE4.1_-O3_-fomit-frame-pointer2019091320190910
178843663231 84 1690954 984 1608optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
12005748106976 100 16141429 1016 1640reficc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091320190910
12098836103120 100 16137373 1016 1608reficc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091320190910
12251632103808 100 16137893 1016 1640reficc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091320190910
1226332095216 100 16129733 1016 1640reficc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091320190910
1232211692856 100 16127469 1016 1640reficc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091320190910
12325410129848 100 16163717 1016 1608reficc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091320190910
1251212089384 100 16122080 1024 1608reficc_-xSSE4.2_-O2_-fomit-frame-pointer2019091320190910
1253535291672 100 16124436 1024 1608reficc_-xSSE4.1_-O3_-fomit-frame-pointer2019091320190910
1259558291624 100 16124376 1024 1608reficc_-xSSE4.2_-O3_-fomit-frame-pointer2019091320190910
1261033635823 76 1667443 960 1640refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
1261633289608 100 16122300 1024 1608reficc_-xSSE4.1_-O2_-fomit-frame-pointer2019091320190910
1261863687752 100 16121760 1024 1608reficc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091320190910
1262592890104 100 16124144 1024 1608reficc_-xAVX_-O3_-fomit-frame-pointer2019091320190910
1264093687752 100 16121760 1024 1608reficc_-xAVX_-O2_-fomit-frame-pointer2019091320190910
1264498290104 100 16124144 1024 1608reficc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091320190910
1269592424855 76 1653803 960 1640refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
1298957023301 76 1652027 960 1640refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
1559021619989 76 1647674 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
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 (*)[13]" is incompatible with parameter of type "__m256i (*)[13]"
nts_kem.c: bitslice_fft(evals, sigma);
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