Implementation notes: amd64, pmnod003, crypto_kem/ntskem13136

Computer: pmnod003
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20190910
Operation: crypto_kem
Primitive: ntskem13136
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
162770287514 84 16114763 992 1640avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
1627998111204 84 16141083 992 1640avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
171576280679 84 16107010 984 1608avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
176888089168 84 16116475 992 1640avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
1777284104520 84 16134483 992 1640sse2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
185415479431 84 16106691 992 1640sse2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
208359674301 84 16100714 984 1608sse2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
211424480811 84 16108195 992 1640sse2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
328275675197 84 16104211 992 1640optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
3375598123083 84 16154595 992 1640optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
3404742199688 108 16233725 1048 1608opticc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091320190910
3416448189784 108 16224405 1048 1640opticc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091320190910
3494096203272 108 16237493 1048 1640opticc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091320190910
3502422177296 108 16211981 1048 1640opticc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091320190910
3504682190424 108 16225173 1048 1640opticc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091320190910
3527982170744 108 16205165 1048 1608opticc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091320190910
356712073809 84 16102635 992 1640optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
3577510180736 108 16214800 1056 1608opticc_-xAVX_-O2_-fomit-frame-pointer2019091320190910
3578836180632 108 16213384 1056 1608opticc_-xSSE4.2_-O2_-fomit-frame-pointer2019091320190910
3584604180736 108 16214800 1056 1608opticc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091320190910
3622128182952 108 16217048 1056 1608opticc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091320190910
3622226183488 108 16216260 1056 1608opticc_-xSSE4.1_-O3_-fomit-frame-pointer2019091320190910
3624542182952 108 16217048 1056 1608opticc_-xAVX_-O3_-fomit-frame-pointer2019091320190910
3660922183144 108 16215952 1056 1608opticc_-xSSE4.2_-O3_-fomit-frame-pointer2019091320190910
3673922180984 108 16213684 1056 1608opticc_-xSSE4.1_-O2_-fomit-frame-pointer2019091320190910
383675668796 84 1696578 984 1608optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
24352980102368 100 16136781 1016 1608reficc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091320190910
24361364108728 100 16143405 1016 1640reficc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091320190910
24421060128728 100 16162757 1016 1608reficc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091320190910
24440498107312 100 16142053 1016 1640reficc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091320190910
24506936103256 100 16136020 1024 1608reficc_-xSSE4.1_-O3_-fomit-frame-pointer2019091320190910
24751530120136 100 16154749 1016 1640reficc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091320190910
24785026118088 100 16152301 1016 1640reficc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091320190910
25102342103616 100 16136416 1024 1608reficc_-xSSE4.2_-O3_-fomit-frame-pointer2019091320190910
25163216100736 100 16133480 1024 1608reficc_-xSSE4.2_-O2_-fomit-frame-pointer2019091320190910
25220588102256 100 16136344 1024 1608reficc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091320190910
25239104101000 100 16133692 1024 1608reficc_-xSSE4.1_-O2_-fomit-frame-pointer2019091320190910
25392764100048 100 16134104 1024 1608reficc_-xAVX_-O2_-fomit-frame-pointer2019091320190910
25412826100048 100 16134104 1024 1608reficc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091320190910
25507388102256 100 16136344 1024 1608reficc_-xAVX_-O3_-fomit-frame-pointer2019091320190910
2598571835215 76 1666843 960 1640refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
2644833824802 76 1653755 960 1640refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
2689119023341 76 1652091 960 1640refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
2956415419989 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