Implementation notes: amd64, speed2supercop, crypto_hash/keccakc512

Computer: speed2supercop
Microarchitecture: amd64; Haswell+AES (306c3)
Architecture: amd64
CPU ID: GenuineIntel-000306c3-1fc9cbf5
SUPERCOP version: 20240425
Operation: crypto_hash
Primitive: keccakc512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
154322869 0 013253 752 800T:simplegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
158644457 0 014469 752 800T:inplacegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
159762778 0 012789 752 800T:simplegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
1604019483 0 029573 752 800T:opt64u6gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
160644549 0 014933 752 800T:inplacegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
1607220189 0 032541 752 800T:opt64u6gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
161005728 0 017997 752 800T:simplegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
1612819829 0 030309 752 800T:opt64u6gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
161722613 0 011512 728 768T:simplegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
162209104 0 021373 752 800T:inplacegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
163484183 0 013096 728 768T:inplacegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
1645218375 0 027352 728 768T:opt64u6gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
16728166461 0 0176861 752 800T:x86_64_shldgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
16812166501 0 0178757 752 800T:x86_64_shldgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
16832166181 0 0176165 752 800T:x86_64_shldgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
16840165979 0 0174848 728 768T:x86_64_shldgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
1722462804 0 071784 728 768T:opt64lcu24shldgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
1746865156 0 075237 752 800T:opt64lcu24gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
1784864677 0 074757 752 800T:opt64lcu24shldgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
17868159461 0 0169445 752 800T:x86_64_asmgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
17872159741 0 0170141 752 800T:x86_64_asmgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
1792820902 0 033253 752 800T:opt64lcu6gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
17944159781 0 0172037 752 800T:x86_64_asmgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
1796420037 0 030117 752 800T:opt64lcu6gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
1797620686 0 031165 752 800T:opt64lcu6gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
1798467126 0 079477 752 800T:opt64lcu24gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
1803266910 0 077389 752 800T:opt64lcu24gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
18032159259 0 0168128 728 768T:x86_64_asmgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
1821660456 0 069432 728 768T:opt64lcu24gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
1849267366 0 079717 752 800T:opt64lcu24shldgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
1850867150 0 077629 752 800T:opt64lcu24shldgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
1868018907 0 027880 728 768T:opt64lcu6gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
202848149 0 020525 752 800T:sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
203365930 0 016093 752 800T:sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
205526911 0 017453 752 800T:sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
210044988 0 014032 728 768T:sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2118010906 0 019952 728 768T:sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2170811205 0 023557 752 800T:sseu2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2172010885 0 021365 752 800T:sseu2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2178010513 0 020597 752 800T:sseu2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2193612597 0 022749 752 800T:sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2249210311 0 019288 728 768T:sseu2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2370814175 0 024717 752 800T:sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2371615413 0 027789 752 800T:sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
248928386 0 018477 752 800T:mmxu1gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
254289165 0 021517 752 800T:mmxu1gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
254729021 0 019501 752 800T:mmxu1gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
282848442 0 017424 728 768T:mmxu1gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
3740820353 0 032709 752 800T:opt32bi-rvku2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
3790415602 0 027877 752 800T:simple32bigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
405965847 0 016237 752 800T:simple32bigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
411965289 0 014200 728 768T:simple32bigcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
4131215479 0 024464 728 768T:opt32bi-rvku2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
4163616560 0 026637 752 800T:opt32bi-rvku2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
419045694 0 015717 752 800T:simple32bigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
4191616905 0 027381 752 800T:opt32bi-rvku2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
4206424372 0 036677 752 800T:inplace32bigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
422328865 0 018893 752 800T:inplace32bigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
4263634081 0 046429 752 800T:opt32bi-s2lcu4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
428089819 0 020213 752 800T:inplace32bigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
441328143 0 017064 728 768T:inplace32bigcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
4416433753 0 26214846117 752 262952T:opt32biT-s2lcu4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
452645811 192 018117 952 800T:compact8gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
4537630630 0 26214840725 752 262952T:opt32biT-s2lcu4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
4626028805 0 038893 752 800T:opt32bi-s2lcu4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
4640433225 0 26214843725 752 262952T:opt32biT-s2lcu4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
4667628353 0 26214837344 728 262920T:opt32biT-s2lcu4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
4668027303 0 036288 728 768T:opt32bi-s2lcu4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
4671630693 0 041165 752 800T:opt32bi-s2lcu4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
467966561 0 018869 752 800T:compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
682242189 0 012597 752 800T:compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
694281841 0 010768 728 768T:compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
694762060 0 012101 752 800T:compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
1389761767 192 012205 952 800T:compact8gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
1450601669 192 011652 944 800T:compact8gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2056721409 192 010352 928 768T:compact8gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425

Checksum failure

Implementation: T:gil/singlefile
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
ebbed3a47232047ad399cb77b6324d6c902f4715de871750545b1a3b12046ebe
Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:gil/singlefile
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:gil/singlefile
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:gil/singlefile
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:gil/singlefile
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:gil/singlefile_unrolled
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:gil/singlefile_unrolled
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:gil/singlefile_unrolled
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:gil/singlefile_unrolled

Compiler output

Implementation: T:xopu24
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakF-1600-opt64.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/12/include/x86intrin.h:38,
KeccakF-1600-opt64.c: from KeccakF-1600-opt64.c:74:
KeccakF-1600-opt64.c: /usr/lib/gcc/x86_64-linux-gnu/12/include/xopintrin.h: In function 'KeccakPermutationOnWords':
KeccakF-1600-opt64.c: /usr/lib/gcc/x86_64-linux-gnu/12/include/xopintrin.h:272:1: error: inlining failed in call to 'always_inline' '_mm_roti_epi64': target specific option mismatch
KeccakF-1600-opt64.c: 272 | _mm_roti_epi64(__m128i __A, const int __B)
KeccakF-1600-opt64.c: | ^~~~~~~~~~~~~~
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:102:33: note: called from here
KeccakF-1600-opt64.c: 102 | #define ROL6464same(a, o) _mm_roti_epi64(a, o)
KeccakF-1600-opt64.c: | ^~~~~~~~~~~~~~~~~~~~
KeccakF-1600-opt64.c: KeccakF-1600-xop.macros:103:13: note: in expansion of macro 'ROL6464same'
KeccakF-1600-opt64.c: 103 | Bsusa = ROL6464same(Bsusa, 2); \
KeccakF-1600-opt64.c: | ^~~~~~~~~~~
KeccakF-1600-opt64.c: KeccakF-1600-xop.macros:123:36: note: in expansion of macro 'thetaRhoPiChiIotaPrepareTheta'
KeccakF-1600-opt64.c: 123 | #define thetaRhoPiChiIota(i, A, E) thetaRhoPiChiIotaPrepareTheta(i, A, E)
KeccakF-1600-opt64.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakF-1600-opt64.c: KeccakF-1600-unrolling.macros:40:5: note: in expansion of macro 'thetaRhoPiChiIota'
KeccakF-1600-opt64.c: 40 | thetaRhoPiChiIota(23, E, A) \
KeccakF-1600-opt64.c: | ^~~~~~~~~~~~~~~~~
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: note: in expansion of macro 'rounds'
KeccakF-1600-opt64.c: 185 | rounds
KeccakF-1600-opt64.c: | ^~~~~~
KeccakF-1600-opt64.c: /usr/lib/gcc/x86_64-linux-gnu/12/include/xopintrin.h:245:1: error: inlining failed in call to 'always_inline' '_mm_rot_epi64': target specific option mismatch
KeccakF-1600-opt64.c: 245 | _mm_rot_epi64(__m128i __A, __m128i __B)
KeccakF-1600-opt64.c: | ^~~~~~~~~~~~~
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:103:33: note: called from here
KeccakF-1600-opt64.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:xopu24
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:xopu24
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:xopu24
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:xopu24