Implementation notes: amd64, pmnod003, crypto_sign/picnic2l1fs

Computer: pmnod003
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20190910
Operation: crypto_sign
Primitive: picnic2l1fs
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
201156100157610 2604 16276672 3512 1696optimizedct/avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
213568244130379 2604 16246848 3512 1696optimizedct/avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
225467772133084 2604 16249392 3512 1696optimizedct/avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
231716602114937 2604 16230200 3504 1664optimizedct/avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
365835136135298 2604 16179112 3504 1664optimizedct/sse2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
369521220118435 2604 16159632 3504 1664optimizedct/sse2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
383745968121396 2604 16162496 3504 1664optimizedct/sse2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
389736070101544 2604 16141600 3496 1632optimizedct/sse2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
434262512124320 2600 16167960 3504 1664optimizedct/cgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
436989014110020 2600 16151048 3504 1664optimizedct/cgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
454601824168812 2056 16214797 2992 1632optimizedct/cicc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091220190910
458582256176036 2056 16222197 2992 1664optimizedct/cicc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091220190910
459850830170816 2056 16217301 2992 1664optimizedct/cicc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091220190910
465640158155836 2056 16202237 2992 1632optimizedct/cicc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091220190910
465918760157848 2056 16204461 2992 1664optimizedct/cicc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091220190910
466280154163576 2056 16208328 3000 1632optimizedct/cicc_-xSSE4.2_-O3_-fomit-frame-pointer2019091220190910
46635974494135 2600 16134008 3496 1632optimizedct/cgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
467340078164328 2056 16210368 3000 1632optimizedct/cicc_-xAVX_-O3_-fomit-frame-pointer2019091220190910
469352860163268 2056 16210005 2992 1664optimizedct/cicc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091220190910
469836710164836 2056 16209816 3000 1632optimizedct/cicc_-xSSE4.1_-O3_-fomit-frame-pointer2019091220190910
470389510164328 2056 16210368 3000 1632optimizedct/cicc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091220190910
474161376150504 2056 16195232 3000 1632optimizedct/cicc_-xSSE4.2_-O2_-fomit-frame-pointer2019091220190910
476447320151464 2056 16197488 3000 1632optimizedct/cicc_-xAVX_-O2_-fomit-frame-pointer2019091220190910
476536352151464 2056 16197488 3000 1632optimizedct/cicc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091220190910
477646490108038 2600 16148912 3504 1664optimizedct/cgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
478421916151748 2056 16196656 3000 1632optimizedct/cicc_-xSSE4.1_-O2_-fomit-frame-pointer2019091220190910
24388651601117536 4 01162930 944 1632reficc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091220190910
24646507741117056 4 01162962 944 1632reficc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091220190910
25692256381046231 4 01086253 912 1632refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
26038733561116512 4 01162242 944 1632reficc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091220190910
26445056401108600 4 01154066 944 1600reficc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091220190910
26873403001116520 4 01162122 944 1632reficc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091220190910
27164727841064778 4 01107405 912 1632refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
27396637821110304 4 01155322 944 1600reficc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091220190910
27918270241035912 4 01074789 904 1600refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
28350925601093364 4 01137349 952 1600reficc_-xSSE4.1_-O2_-fomit-frame-pointer2019091220190910
28441408441093204 4 01136973 952 1600reficc_-xSSE4.2_-O2_-fomit-frame-pointer2019091220190910
28490702281094156 4 01138197 952 1600reficc_-xSSE4.1_-O3_-fomit-frame-pointer2019091220190910
28515583741099028 4 01144141 952 1600reficc_-xAVX_-O3_-fomit-frame-pointer2019091220190910
28569091021099028 4 01144141 952 1600reficc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091220190910
28641286021093980 4 01137821 952 1600reficc_-xSSE4.2_-O3_-fomit-frame-pointer2019091220190910
29231315501097228 4 01142357 952 1600reficc_-xAVX_-O2_-fomit-frame-pointer2019091220190910
29243285041097228 4 01142357 952 1600reficc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091220190910
33099755241041223 4 01081077 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_128_128_20.c: In file included from lowmc_pars.h(15),
lowmc_128_128_20.c: from lowmc_128_128_20.h(4),
lowmc_128_128_20.c: from lowmc_128_128_20.c(4):
lowmc_128_128_20.c: mzd_additional.h(39): warning #1292: unknown attribute "assume_aligned"
lowmc_128_128_20.c: mzd_local_t* mzd_local_init_ex(uint32_t r, uint32_t c, bool clear) ATTR_ASSUME_ALIGNED(32);
lowmc_128_128_20.c: ^
lowmc_128_128_20.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