Implementation notes: amd64, pmnod003, crypto_sign/picnicl5fs

Computer: pmnod003
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20190910
Operation: crypto_sign
Primitive: picnicl5fs
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
34958818251754 3036 16370944 3944 1696optimizedct/avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
38454938224491 3036 16341056 3944 1696optimizedct/avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
39042606227760 3036 16344176 3944 1696optimizedct/avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
39456912209029 3036 16324280 3936 1664optimizedct/avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
63976472229218 3036 16273128 3936 1664optimizedct/sse2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
65115802212403 3036 16253776 3936 1664optimizedct/sse2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
66695256215788 3036 16256960 3936 1664optimizedct/sse2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
68330422195502 3036 16235552 3928 1632optimizedct/sse2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
73841490218240 3032 16261976 3936 1664optimizedct/cgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
82432598258740 2056 16305493 2992 1664optimizedct/cicc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091220190910
82614432271540 2056 16317749 2992 1664optimizedct/cicc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091220190910
83677322251308 2056 16297725 2992 1632optimizedct/cicc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091220190910
83993134253320 2056 16299949 2992 1664optimizedct/cicc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091220190910
84292610266288 2056 16312853 2992 1664optimizedct/cicc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091220190910
84370860264284 2056 16310285 2992 1632optimizedct/cicc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091220190910
92293698245960 2056 16290784 3000 1632optimizedct/cicc_-xSSE4.2_-O2_-fomit-frame-pointer2019091220190910
92764320259048 2056 16303880 3000 1632optimizedct/cicc_-xSSE4.2_-O3_-fomit-frame-pointer2019091220190910
93133294246936 2056 16293040 3000 1632optimizedct/cicc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091220190910
93151840246936 2056 16293040 3000 1632optimizedct/cicc_-xAVX_-O2_-fomit-frame-pointer2019091220190910
93237654247204 2056 16292208 3000 1632optimizedct/cicc_-xSSE4.1_-O2_-fomit-frame-pointer2019091220190910
93704098260308 2056 16305368 3000 1632optimizedct/cicc_-xSSE4.1_-O3_-fomit-frame-pointer2019091220190910
93751502259816 2056 16305984 3000 1632optimizedct/cicc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091220190910
93829770259816 2056 16305984 3000 1632optimizedct/cicc_-xAVX_-O3_-fomit-frame-pointer2019091220190910
100573340203988 3032 16245192 3936 1664optimizedct/cgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
110474456188093 3032 16227960 3928 1632optimizedct/cgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
112380294202150 3032 16243120 3936 1664optimizedct/cgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
11996760021097228 4 01142421 952 1600reficc_-xAVX_-O2_-fomit-frame-pointer2019091220190910
12000577641097228 4 01142421 952 1600reficc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091220190910
12151801001093364 4 01137349 952 1600reficc_-xSSE4.1_-O2_-fomit-frame-pointer2019091220190910
12156083201093204 4 01137037 952 1600reficc_-xSSE4.2_-O2_-fomit-frame-pointer2019091220190910
12487116081116512 4 01162242 944 1632reficc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091220190910
12591635381108600 4 01154066 944 1600reficc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091220190910
13721309221064778 4 01107469 912 1632refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
13737557641099028 4 01144205 952 1600reficc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091220190910
13755966481099028 4 01144205 952 1600reficc_-xAVX_-O3_-fomit-frame-pointer2019091220190910
13789558141093980 4 01137885 952 1600reficc_-xSSE4.2_-O3_-fomit-frame-pointer2019091220190910
13804327321094156 4 01138261 952 1600reficc_-xSSE4.1_-O3_-fomit-frame-pointer2019091220190910
14464236801116520 4 01162122 944 1632reficc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091220190910
14593275101110304 4 01155386 944 1600reficc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091220190910
15121415301046231 4 01086317 912 1632refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
15413097461117536 4 01162930 944 1632reficc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091220190910
15658121241041223 4 01081141 912 1632refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
16899598261117056 4 01162962 944 1632reficc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091220190910
20120492641035912 4 01074789 904 1600refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910

Compiler output

Implementation: optimizedct/avx2
Security model: unknown
Compiler: icc -xAVX -O2 -fomit-frame-pointer
io.c: In file included from mzd_additional.h(24),
io.c: from io.h(16),
io.c: from io.c(11):
io.c: simd.h(101): warning #47: incompatible redefinition of macro "_mm256_set_m128i" (declared at line 1575 of "/opt/intel/compilers_and_libraries_2019.4.243/linux/compiler/include/icc/immintrin.h")
io.c: #define _mm256_set_m128i(v0, v1) _mm256_insertf128_si256(_mm256_castsi128_si256(v1), (v0), 1)
io.c: ^
io.c:
io.c: In file included from mzd_additional.h(24),
io.c: from io.h(16),
io.c: from io.c(11):
io.c: simd.h(102): warning #47: incompatible redefinition of macro "_mm256_setr_m128i" (declared at line 1601 of "/opt/intel/compilers_and_libraries_2019.4.243/linux/compiler/include/icc/immintrin.h")
io.c: #define _mm256_setr_m128i(v0, v1) _mm256_set_m128i((v1), (v0))
io.c: ^
io.c:
io.c: In file included from mzd_additional.h(24),
io.c: from io.h(16),
io.c: from io.c(11):
io.c: simd.h(109): warning #2423: target not recognized
io.c: apply_region(mm256_xor_region, word256, mm256_xor, FN_ATTRIBUTES_AVX2);
io.c: ^
io.c:
io.c: In file included from mzd_additional.h(24),
io.c: from io.h(16),
io.c: from io.c(11):
io.c: simd.h(110): warning #2423: target not recognized
io.c: ...
lowmc.c: In file included from mzd_additional.h(24),
lowmc.c: from io.h(16),
lowmc.c: from lowmc.c(11):
lowmc.c: simd.h(101): warning #47: incompatible redefinition of macro "_mm256_set_m128i" (declared at line 1575 of "/opt/intel/compilers_and_libraries_2019.4.243/linux/compiler/include/icc/immintrin.h")
lowmc.c: #define _mm256_set_m128i(v0, v1) _mm256_insertf128_si256(_mm256_castsi128_si256(v1), (v0), 1)
lowmc.c: ^
lowmc.c:
lowmc.c: In file included from mzd_additional.h(24),
lowmc.c: from io.h(16),
lowmc.c: from lowmc.c(11):
lowmc.c: simd.h(102): warning #47: incompatible redefinition of macro "_mm256_setr_m128i" (declared at line 1601 of "/opt/intel/compilers_and_libraries_2019.4.243/linux/compiler/include/icc/immintrin.h")
lowmc.c: #define _mm256_setr_m128i(v0, v1) _mm256_set_m128i((v1), (v0))
lowmc.c: ^
lowmc.c:
lowmc.c: In file included from mzd_additional.h(24),
lowmc.c: from io.h(16),
lowmc.c: from lowmc.c(11):
lowmc.c: simd.h(109): warning #2423: target not recognized
lowmc.c: apply_region(mm256_xor_region, word256, mm256_xor, FN_ATTRIBUTES_AVX2);
lowmc.c: ^
lowmc.c:
lowmc.c: In file included from mzd_additional.h(24),
lowmc.c: from io.h(16),
lowmc.c: from lowmc.c(11):
lowmc.c: simd.h(110): warning #2423: target not recognized
lowmc.c: ...

Number of similar (compiler,implementation) pairs: 14, namely:
CompilerImplementations
icc -xAVX -O2 -fomit-frame-pointer optimizedct/avx2
icc -xAVX -O3 -fomit-frame-pointer optimizedct/avx2
icc -xCOMMON-AVX512 -O2 -fomit-frame-pointer optimizedct/avx2
icc -xCOMMON-AVX512 -O3 -fomit-frame-pointer optimizedct/avx2
icc -xCORE-AVX-I -O2 -fomit-frame-pointer optimizedct/avx2
icc -xCORE-AVX-I -O3 -fomit-frame-pointer optimizedct/avx2
icc -xCORE-AVX2 -O2 -fomit-frame-pointer optimizedct/avx2
icc -xCORE-AVX2 -O3 -fomit-frame-pointer optimizedct/avx2
icc -xCORE-AVX512 -O2 -fomit-frame-pointer optimizedct/avx2
icc -xCORE-AVX512 -O3 -fomit-frame-pointer optimizedct/avx2
icc -xSSE4.1 -O2 -fomit-frame-pointer optimizedct/avx2
icc -xSSE4.1 -O3 -fomit-frame-pointer optimizedct/avx2
icc -xSSE4.2 -O2 -fomit-frame-pointer optimizedct/avx2
icc -xSSE4.2 -O3 -fomit-frame-pointer optimizedct/avx2

Compiler output

Implementation: optimizedct/c
Security model: unknown
Compiler: icc -xAVX -O2 -fomit-frame-pointer
io.c: In file included from io.h(16),
io.c: from io.c(11):
io.c: mzd_additional.h(39): warning #1292: unknown attribute "assume_aligned"
io.c: mzd_local_t* mzd_local_init_ex(uint32_t r, uint32_t c, bool clear) ATTR_ASSUME_ALIGNED(32);
io.c: ^
io.c:
lowmc.c: In file included from io.h(16),
lowmc.c: from lowmc.c(11):
lowmc.c: mzd_additional.h(39): warning #1292: unknown attribute "assume_aligned"
lowmc.c: mzd_local_t* mzd_local_init_ex(uint32_t r, uint32_t c, bool clear) ATTR_ASSUME_ALIGNED(32);
lowmc.c: ^
lowmc.c:
lowmc_256_256_38.c: In file included from lowmc_pars.h(15),
lowmc_256_256_38.c: from lowmc_256_256_38.h(4),
lowmc_256_256_38.c: from lowmc_256_256_38.c(4):
lowmc_256_256_38.c: mzd_additional.h(39): warning #1292: unknown attribute "assume_aligned"
lowmc_256_256_38.c: mzd_local_t* mzd_local_init_ex(uint32_t r, uint32_t c, bool clear) ATTR_ASSUME_ALIGNED(32);
lowmc_256_256_38.c: ^
lowmc_256_256_38.c:
mpc_lowmc.c: In file included from lowmc_pars.h(15),
mpc_lowmc.c: from mpc_lowmc.c(11):
mpc_lowmc.c: mzd_additional.h(39): warning #1292: unknown attribute "assume_aligned"
mpc_lowmc.c: mzd_local_t* mzd_local_init_ex(uint32_t r, uint32_t c, bool clear) ATTR_ASSUME_ALIGNED(32);
mpc_lowmc.c: ^
mpc_lowmc.c:
mzd_additional.c: In file included from mzd_additional.c(12):
mzd_additional.c: mzd_additional.h(39): warning #1292: unknown attribute "assume_aligned"
mzd_additional.c: mzd_local_t* mzd_local_init_ex(uint32_t r, uint32_t c, bool clear) ATTR_ASSUME_ALIGNED(32);
mzd_additional.c: ^
mzd_additional.c:
picnic.c: In file included from io.h(16),
picnic.c: from picnic.c(16):
picnic.c: mzd_additional.h(39): warning #1292: unknown attribute "assume_aligned"
picnic.c: mzd_local_t* mzd_local_init_ex(uint32_t r, uint32_t c, bool clear) ATTR_ASSUME_ALIGNED(32);
picnic.c: ^
picnic.c:
picnic2_impl.c: In file included from io.h(16),
picnic2_impl.c: from picnic2_impl.c(20):
picnic2_impl.c: mzd_additional.h(39): warning #1292: unknown attribute "assume_aligned"
picnic2_impl.c: mzd_local_t* mzd_local_init_ex(uint32_t r, uint32_t c, bool clear) ATTR_ASSUME_ALIGNED(32);
picnic2_impl.c: ^
picnic2_impl.c:
picnic2_simulate.c: In file included from io.h(16),
picnic2_simulate.c: from picnic2_simulate.c(20):
picnic2_simulate.c: mzd_additional.h(39): warning #1292: unknown attribute "assume_aligned"
picnic2_simulate.c: mzd_local_t* mzd_local_init_ex(uint32_t r, uint32_t c, bool clear) ATTR_ASSUME_ALIGNED(32);
picnic2_simulate.c: ^
picnic2_simulate.c:
picnic2_simulate_mul.c: In file included from lowmc_pars.h(15),
picnic2_simulate_mul.c: from lowmc.h(13),
picnic2_simulate_mul.c: from picnic_impl.h(13),
picnic2_simulate_mul.c: from picnic2_impl.h(18),
picnic2_simulate_mul.c: from picnic2_types.h(16),
picnic2_simulate_mul.c: from picnic2_simulate_mul.h(13),
picnic2_simulate_mul.c: from picnic2_simulate_mul.c(14):
picnic2_simulate_mul.c: mzd_additional.h(39): warning #1292: unknown attribute "assume_aligned"
picnic2_simulate_mul.c: mzd_local_t* mzd_local_init_ex(uint32_t r, uint32_t c, bool clear) ATTR_ASSUME_ALIGNED(32);
picnic2_simulate_mul.c: ^
picnic2_simulate_mul.c:
picnic2_tree.c: In file included from lowmc_pars.h(15),
picnic2_tree.c: from lowmc.h(13),
picnic2_tree.c: from picnic_impl.h(13),
picnic2_tree.c: from kdf_shake.h(40),
picnic2_tree.c: from picnic2_tree.c(18):
picnic2_tree.c: mzd_additional.h(39): warning #1292: unknown attribute "assume_aligned"
picnic2_tree.c: mzd_local_t* mzd_local_init_ex(uint32_t r, uint32_t c, bool clear) ATTR_ASSUME_ALIGNED(32);
picnic2_tree.c: ^
picnic2_tree.c:
picnic2_types.c: In file included from lowmc_pars.h(15),
picnic2_types.c: from lowmc.h(13),
picnic2_types.c: from picnic_impl.h(13),
picnic2_types.c: from picnic2_impl.h(18),
picnic2_types.c: from picnic2_types.h(16),
picnic2_types.c: from picnic2_types.c(13):
picnic2_types.c: mzd_additional.h(39): warning #1292: unknown attribute "assume_aligned"
picnic2_types.c: mzd_local_t* mzd_local_init_ex(uint32_t r, uint32_t c, bool clear) ATTR_ASSUME_ALIGNED(32);
picnic2_types.c: ^
picnic2_types.c:
picnic_impl.c: In file included from io.h(16),
picnic_impl.c: from picnic_impl.c(13):
picnic_impl.c: mzd_additional.h(39): warning #1292: unknown attribute "assume_aligned"
picnic_impl.c: mzd_local_t* mzd_local_init_ex(uint32_t r, uint32_t c, bool clear) ATTR_ASSUME_ALIGNED(32);
picnic_impl.c: ^
picnic_impl.c:

Number of similar (compiler,implementation) pairs: 14, namely:
CompilerImplementations
icc -xAVX -O2 -fomit-frame-pointer optimizedct/c
icc -xAVX -O3 -fomit-frame-pointer optimizedct/c
icc -xCOMMON-AVX512 -O2 -fomit-frame-pointer optimizedct/c
icc -xCOMMON-AVX512 -O3 -fomit-frame-pointer optimizedct/c
icc -xCORE-AVX-I -O2 -fomit-frame-pointer optimizedct/c
icc -xCORE-AVX-I -O3 -fomit-frame-pointer optimizedct/c
icc -xCORE-AVX2 -O2 -fomit-frame-pointer optimizedct/c
icc -xCORE-AVX2 -O3 -fomit-frame-pointer optimizedct/c
icc -xCORE-AVX512 -O2 -fomit-frame-pointer optimizedct/c
icc -xCORE-AVX512 -O3 -fomit-frame-pointer optimizedct/c
icc -xSSE4.1 -O2 -fomit-frame-pointer optimizedct/c
icc -xSSE4.1 -O3 -fomit-frame-pointer optimizedct/c
icc -xSSE4.2 -O2 -fomit-frame-pointer optimizedct/c
icc -xSSE4.2 -O3 -fomit-frame-pointer optimizedct/c

Compiler output

Implementation: optimizedct/sse2
Security model: unknown
Compiler: icc -xAVX -O2 -fomit-frame-pointer
io.c: In file included from mzd_additional.h(24),
io.c: from io.h(16),
io.c: from io.c(11):
io.c: simd.h(105): warning #2423: target not recognized
io.c: apply_region(mm128_xor_region, word128, mm128_xor, FN_ATTRIBUTES_SSE2);
io.c: ^
io.c:
io.c: In file included from mzd_additional.h(24),
io.c: from io.h(16),
io.c: from io.c(11):
io.c: simd.h(106): warning #2423: target not recognized
io.c: apply_mask_region(mm128_xor_mask_region, word128, mm128_xor, mm128_and, FN_ATTRIBUTES_SSE2);
io.c: ^
io.c:
io.c: In file included from mzd_additional.h(24),
io.c: from io.h(16),
io.c: from io.c(11):
io.c: simd.h(107): warning #2423: target not recognized
io.c: apply_mask(mm128_xor_mask, word128, mm128_xor, mm128_and, FN_ATTRIBUTES_SSE2_CONST);
io.c: ^
io.c:
io.c: In file included from mzd_additional.h(24),
io.c: from io.h(16),
io.c: from io.c(11):
io.c: simd.h(108): warning #2423: target not recognized
io.c: ...
lowmc.c: In file included from mzd_additional.h(24),
lowmc.c: from io.h(16),
lowmc.c: from lowmc.c(11):
lowmc.c: simd.h(105): warning #2423: target not recognized
lowmc.c: apply_region(mm128_xor_region, word128, mm128_xor, FN_ATTRIBUTES_SSE2);
lowmc.c: ^
lowmc.c:
lowmc.c: In file included from mzd_additional.h(24),
lowmc.c: from io.h(16),
lowmc.c: from lowmc.c(11):
lowmc.c: simd.h(106): warning #2423: target not recognized
lowmc.c: apply_mask_region(mm128_xor_mask_region, word128, mm128_xor, mm128_and, FN_ATTRIBUTES_SSE2);
lowmc.c: ^
lowmc.c:
lowmc.c: In file included from mzd_additional.h(24),
lowmc.c: from io.h(16),
lowmc.c: from lowmc.c(11):
lowmc.c: simd.h(107): warning #2423: target not recognized
lowmc.c: apply_mask(mm128_xor_mask, word128, mm128_xor, mm128_and, FN_ATTRIBUTES_SSE2_CONST);
lowmc.c: ^
lowmc.c:
lowmc.c: In file included from mzd_additional.h(24),
lowmc.c: from io.h(16),
lowmc.c: from lowmc.c(11):
lowmc.c: simd.h(108): warning #2423: target not recognized
lowmc.c: ...

Number of similar (compiler,implementation) pairs: 14, namely:
CompilerImplementations
icc -xAVX -O2 -fomit-frame-pointer optimizedct/sse2
icc -xAVX -O3 -fomit-frame-pointer optimizedct/sse2
icc -xCOMMON-AVX512 -O2 -fomit-frame-pointer optimizedct/sse2
icc -xCOMMON-AVX512 -O3 -fomit-frame-pointer optimizedct/sse2
icc -xCORE-AVX-I -O2 -fomit-frame-pointer optimizedct/sse2
icc -xCORE-AVX-I -O3 -fomit-frame-pointer optimizedct/sse2
icc -xCORE-AVX2 -O2 -fomit-frame-pointer optimizedct/sse2
icc -xCORE-AVX2 -O3 -fomit-frame-pointer optimizedct/sse2
icc -xCORE-AVX512 -O2 -fomit-frame-pointer optimizedct/sse2
icc -xCORE-AVX512 -O3 -fomit-frame-pointer optimizedct/sse2
icc -xSSE4.1 -O2 -fomit-frame-pointer optimizedct/sse2
icc -xSSE4.1 -O3 -fomit-frame-pointer optimizedct/sse2
icc -xSSE4.2 -O2 -fomit-frame-pointer optimizedct/sse2
icc -xSSE4.2 -O3 -fomit-frame-pointer optimizedct/sse2