Implementation notes: amd64, pmnod003, crypto_sign/picnic2l3fs

Computer: pmnod003
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20190910
Operation: crypto_sign
Primitive: picnic2l3fs
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
567678690215850 2844 16334912 3752 1696optimizedct/avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
578919330188555 2844 16305024 3752 1696optimizedct/avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
612122744191264 2844 16307568 3752 1696optimizedct/avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
623337634172953 2844 16288184 3744 1664optimizedct/avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
980593536193354 2844 16237288 3744 1664optimizedct/sse2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
985633470176555 2844 16217872 3744 1664optimizedct/sse2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
1031971082179500 2844 16220672 3744 1664optimizedct/sse2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
1040196426159600 2844 16199648 3736 1632optimizedct/sse2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
1231303908182376 2840 16226136 3744 1664optimizedct/cgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
1255616316168140 2840 16209288 3744 1664optimizedct/cgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
1321932360214140 2056 16260541 2992 1632optimizedct/cicc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091220190910
1326936644227132 2056 16273101 2992 1632optimizedct/cicc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091220190910
1328195292216152 2056 16262829 2992 1664optimizedct/cicc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091220190910
1331294538229136 2056 16275733 2992 1664optimizedct/cicc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091220190910
1334250078221588 2056 16268309 2992 1664optimizedct/cicc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091220190910
1338702016234388 2056 16280565 2992 1664optimizedct/cicc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091220190910
1346770278152191 2840 16192120 3736 1632optimizedct/cgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
1351247388208824 2056 16253536 3000 1632optimizedct/cicc_-xSSE4.2_-O2_-fomit-frame-pointer2019091220190910
1355231924221896 2056 16266696 3000 1632optimizedct/cicc_-xSSE4.2_-O3_-fomit-frame-pointer2019091220190910
1355708896209784 2056 16255856 3000 1632optimizedct/cicc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091220190910
1355878296209784 2056 16255856 3000 1632optimizedct/cicc_-xAVX_-O2_-fomit-frame-pointer2019091220190910
1358600282210052 2056 16255024 3000 1632optimizedct/cicc_-xSSE4.1_-O2_-fomit-frame-pointer2019091220190910
1362380152222664 2056 16268736 3000 1632optimizedct/cicc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091220190910
1362618684222664 2056 16268736 3000 1632optimizedct/cicc_-xAVX_-O3_-fomit-frame-pointer2019091220190910
1367932656223156 2056 16268184 3000 1632optimizedct/cicc_-xSSE4.1_-O3_-fomit-frame-pointer2019091220190910
1401482148166075 2840 16207024 3744 1664optimizedct/cgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
101850944901046231 4 01086317 912 1632refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
104632339401064778 4 01107469 912 1632refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
108405707901117536 4 01162930 944 1632reficc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091220190910
109368577421116520 4 01162122 944 1632reficc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091220190910
109944938541117056 4 01162962 944 1632reficc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091220190910
111783731361116512 4 01162242 944 1632reficc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091220190910
113462683181035912 4 01074789 904 1600refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
114325014881110304 4 01155386 944 1600reficc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091220190910
115036406201093364 4 01137349 952 1600reficc_-xSSE4.1_-O2_-fomit-frame-pointer2019091220190910
116061785281097228 4 01142357 952 1600reficc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091220190910
116195752141097228 4 01142357 952 1600reficc_-xAVX_-O2_-fomit-frame-pointer2019091220190910
116317364841093204 4 01137037 952 1600reficc_-xSSE4.2_-O2_-fomit-frame-pointer2019091220190910
116536167341093980 4 01137885 952 1600reficc_-xSSE4.2_-O3_-fomit-frame-pointer2019091220190910
116804551461099028 4 01144205 952 1600reficc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091220190910
116839081301099028 4 01144205 952 1600reficc_-xAVX_-O3_-fomit-frame-pointer2019091220190910
117142402441094156 4 01138261 952 1600reficc_-xSSE4.1_-O3_-fomit-frame-pointer2019091220190910
118077651561108600 4 01154066 944 1600reficc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091220190910
143157859821041223 4 01081141 912 1632refgcc_-march=native_-mtune=native_-O_-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