Implementation notes: amd64, pmnod003, crypto_sign/picnicl3fs

Computer: pmnod003
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20190910
Operation: crypto_sign
Primitive: picnicl3fs
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
19837066215850 2844 16334912 3752 1696optimizedct/avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
21676872191264 2844 16307568 3752 1696optimizedct/avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
22016744188555 2844 16305024 3752 1696optimizedct/avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
22248952172953 2844 16288184 3744 1664optimizedct/avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
36196262193354 2844 16237288 3744 1664optimizedct/sse2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
37042070176555 2844 16217872 3744 1664optimizedct/sse2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
38060594179500 2844 16220672 3744 1664optimizedct/sse2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
38910688159600 2844 16199648 3736 1632optimizedct/sse2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
40427312182376 2840 16226136 3744 1664optimizedct/cgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
44758778214140 2056 16260541 2992 1632optimizedct/cicc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091220190910
44946288221588 2056 16268309 2992 1664optimizedct/cicc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091220190910
45125014229136 2056 16275733 2992 1664optimizedct/cicc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091220190910
45189042216152 2056 16262829 2992 1664optimizedct/cicc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091220190910
45300280227132 2056 16273101 2992 1632optimizedct/cicc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091220190910
45886336234388 2056 16280565 2992 1664optimizedct/cicc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091220190910
49750784208824 2056 16253536 3000 1632optimizedct/cicc_-xSSE4.2_-O2_-fomit-frame-pointer2019091220190910
49985538210052 2056 16255024 3000 1632optimizedct/cicc_-xSSE4.1_-O2_-fomit-frame-pointer2019091220190910
50029300209784 2056 16255856 3000 1632optimizedct/cicc_-xAVX_-O2_-fomit-frame-pointer2019091220190910
50030272209784 2056 16255856 3000 1632optimizedct/cicc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091220190910
50221150221896 2056 16266696 3000 1632optimizedct/cicc_-xSSE4.2_-O3_-fomit-frame-pointer2019091220190910
50314500223156 2056 16268184 3000 1632optimizedct/cicc_-xSSE4.1_-O3_-fomit-frame-pointer2019091220190910
50374120222664 2056 16268736 3000 1632optimizedct/cicc_-xAVX_-O3_-fomit-frame-pointer2019091220190910
50401654222664 2056 16268736 3000 1632optimizedct/cicc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091220190910
52329412168140 2840 16209288 3744 1664optimizedct/cgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
61341346166075 2840 16207024 3744 1664optimizedct/cgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
63457186152191 2840 16192120 3736 1632optimizedct/cgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
4888778961097228 4 01142357 952 1600reficc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091220190910
4890979641097228 4 01142357 952 1600reficc_-xAVX_-O2_-fomit-frame-pointer2019091220190910
4955367621093204 4 01137037 952 1600reficc_-xSSE4.2_-O2_-fomit-frame-pointer2019091220190910
4966322301093364 4 01137349 952 1600reficc_-xSSE4.1_-O2_-fomit-frame-pointer2019091220190910
5234875641093980 4 01137885 952 1600reficc_-xSSE4.2_-O3_-fomit-frame-pointer2019091220190910
5302468821094156 4 01138261 952 1600reficc_-xSSE4.1_-O3_-fomit-frame-pointer2019091220190910
5314919081099028 4 01144205 952 1600reficc_-xAVX_-O3_-fomit-frame-pointer2019091220190910
5318683721064778 4 01107469 912 1632refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
5319996121099028 4 01144205 952 1600reficc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091220190910
5452697001110304 4 01155386 944 1600reficc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091220190910
5490120901046231 4 01086317 912 1632refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
5626032661116520 4 01162122 944 1632reficc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091220190910
5739358361108600 4 01154066 944 1600reficc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091220190910
5976077561117536 4 01162930 944 1632reficc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091220190910
6458012041116512 4 01162242 944 1632reficc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091220190910
6687484321041223 4 01081141 912 1632refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
6849545761117056 4 01162962 944 1632reficc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091220190910
8012838001035912 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_192_192_30.c: In file included from lowmc_pars.h(15),
lowmc_192_192_30.c: from lowmc_192_192_30.h(4),
lowmc_192_192_30.c: from lowmc_192_192_30.c(4):
lowmc_192_192_30.c: mzd_additional.h(39): warning #1292: unknown attribute "assume_aligned"
lowmc_192_192_30.c: mzd_local_t* mzd_local_init_ex(uint32_t r, uint32_t c, bool clear) ATTR_ASSUME_ALIGNED(32);
lowmc_192_192_30.c: ^
lowmc_192_192_30.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