Implementation notes: amd64, speed2supercop, crypto_sign/picnicl5full

Computer: speed2supercop
Microarchitecture: amd64; Haswell+AES (306c3)
Architecture: amd64
CPU ID: GenuineIntel-000306c3-1fc9cbf5
SUPERCOP version: 20240625
Operation: crypto_sign
Primitive: picnicl5full
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
21832036175682 160 0314635 976 1664optimizedct/avx2gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
22123440163246 152 0303605 1016 1632optimizedct/avx2clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
22156952155143 160 0292771 976 1664optimizedct/avx2gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
22211592173284 152 0313837 1016 1632optimizedct/avx2clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
22629560152896 160 0290195 976 1664optimizedct/avx2gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
22761488170919 152 0310165 1016 1600optimizedct/avx2clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
22763144151821 152 0289415 1008 1664optimizedct/avx2clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
22889896155539 152 0292309 1016 1600optimizedct/avx2clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
23741876147754 160 0283963 968 1632optimizedct/avx2gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
24843472162973 152 0298365 1008 1600optimizedct/sse2clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
24933320154062 152 0289317 1008 1600optimizedct/sse2clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
25985608164284 160 0297827 968 1632optimizedct/sse2gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
26472348148463 160 0280675 968 1632optimizedct/sse2gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
26761072146779 160 0278699 968 1632optimizedct/sse2gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
27026644160347 152 0294469 1008 1568optimizedct/sse2clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
28441704142290 160 0273035 960 1600optimizedct/sse2gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
28891540157290 160 0290803 968 1632optimizedct/cgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
39004816148988 152 0284301 1008 1600optimizedct/cclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
39062340157819 152 0293349 1008 1600optimizedct/cclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
39144612145487 152 0277974 1000 1632optimizedct/sse2clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
41083936148883 152 0280517 1008 1568optimizedct/sse2clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
41335140156158 152 0290349 1008 1568optimizedct/cclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
59043356145448 160 0277651 968 1632optimizedct/cgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
61561820140405 152 0272886 1000 1632optimizedct/cclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
63418348144264 160 0276107 968 1632optimizedct/cgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
64027956142713 152 0274277 1008 1568optimizedct/cclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
74197704139659 160 0270387 960 1600optimizedct/cgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
6599117761287832 4 01320990 864 1600T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
7697631601292102 4 01325182 864 1600T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
8078077201272371 4 01301550 864 1568T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
8109348961261765 4 01291735 856 1632T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
8713841881285885 4 01317774 864 1568T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
9744379961281807 4 01313541 824 1632T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
9804501881266264 4 01296029 824 1632T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
18920713121261285 4 01290733 824 1632T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625
20265560681255905 4 01284253 816 1600T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070920240625

Compiler output


picnic_impl.c: picnic_impl.c: In function 'mpc_LowMC_verify':
picnic_impl.c: picnic_impl.c:533:5: warning: 'mpc_matrix_mul' accessing 24 bytes in a region of size 16 [-Wstringop-overflow=]
picnic_impl.c:   533 |     mpc_matrix_mul(roundKey, keyShares, KMatrix(0, params), params, 2);
picnic_impl.c:       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
picnic_impl.c: picnic_impl.c:533:5: note: referencing argument 1 of type 'uint32_t *[3]' {aka 'unsigned int *[3]'}
picnic_impl.c: picnic_impl.c:533:5: warning: 'mpc_matrix_mul' accessing 24 bytes in a region of size 16 [-Wstringop-overflow=]
picnic_impl.c: picnic_impl.c:533:5: note: referencing argument 2 of type 'uint32_t *[3]' {aka 'unsigned int *[3]'}
picnic_impl.c: picnic_impl.c:506:6: note: in a call to function 'mpc_matrix_mul'
picnic_impl.c:   506 | void mpc_matrix_mul(uint32_t* output[3], uint32_t* state[3], const uint32_t* matrix,
picnic_impl.c:       |      ^~~~~~~~~~~~~~
picnic_impl.c: picnic_impl.c:534:5: warning: 'mpc_xor' accessing 24 bytes in a region of size 16 [-Wstringop-overflow=]
picnic_impl.c:   534 |     mpc_xor(state, roundKey, params->stateSizeWords, 2);
picnic_impl.c:       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
picnic_impl.c: picnic_impl.c:534:5: note: referencing argument 1 of type 'uint32_t *[3]' {aka 'unsigned int *[3]'}
picnic_impl.c: picnic_impl.c:534:5: warning: 'mpc_xor' accessing 24 bytes in a region of size 16 [-Wstringop-overflow=]
picnic_impl.c: picnic_impl.c:534:5: note: referencing argument 2 of type 'uint32_t *[3]' {aka 'unsigned int *[3]'}
picnic_impl.c: picnic_impl.c:260:6: note: in a call to function 'mpc_xor'
picnic_impl.c:   260 | void mpc_xor(uint32_t* state[3], uint32_t* in[3], uint32_t len, int players)
picnic_impl.c:       |      ^~~~~~~
picnic_impl.c: picnic_impl.c:537:9: warning: 'mpc_matrix_mul' accessing 24 bytes in a region of size 16 [-Wstringop-overflow=]
picnic_impl.c:   537 |         mpc_matrix_mul(roundKey, keyShares, KMatrix(r, params), params, 2);
picnic_impl.c:       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
picnic_impl.c: picnic_impl.c:537:9: note: referencing argument 1 of type 'uint32_t *[3]' {aka 'unsigned int *[3]'}
picnic_impl.c: picnic_impl.c:537:9: warning: 'mpc_matrix_mul' accessing 24 bytes in a region of size 16 [-Wstringop-overflow=]
picnic_impl.c: picnic_impl.c:537:9: note: referencing argument 2 of type 'uint32_t *[3]' {aka 'unsigned int *[3]'}
picnic_impl.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)

Passed TIMECOP


TIMECOP iterations: 10

Number of similar (implementation,compiler) pairs: 27, namely:
ImplementationCompiler
optimizedct/avx2clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
optimizedct/avx2clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
optimizedct/avx2clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
optimizedct/avx2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
optimizedct/avx2clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
optimizedct/avx2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
optimizedct/avx2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
optimizedct/avx2gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
optimizedct/avx2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
optimizedct/cclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
optimizedct/cclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
optimizedct/cclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
optimizedct/cclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
optimizedct/cclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
optimizedct/cgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
optimizedct/cgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
optimizedct/cgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
optimizedct/cgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
optimizedct/sse2clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
optimizedct/sse2clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
optimizedct/sse2clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
optimizedct/sse2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
optimizedct/sse2clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
optimizedct/sse2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
optimizedct/sse2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
optimizedct/sse2gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
optimizedct/sse2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)