Implementation notes: amd64, speed2supercop, crypto_hash/keccakc768

Computer: speed2supercop
Microarchitecture: amd64; Haswell+AES (306c3)
Architecture: amd64
CPU ID: GenuineIntel-000306c3-1fc9cbf5
SUPERCOP version: 20240425
Operation: crypto_hash
Primitive: keccakc768
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
191562918 0 013341 752 800T:simplegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
197804598 0 015021 752 800T:inplacegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
197922769 0 012773 752 800T:simplegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
197964448 0 014453 752 800T:inplacegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
1997620141 0 032541 752 800T:opt64u6gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2004019781 0 030309 752 800T:opt64u6gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
200445712 0 018029 752 800T:simplegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
200522586 0 011496 728 768T:simplegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2011219430 0 029509 752 800T:opt64u6gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
203124156 0 013064 728 768T:inplacegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
204249120 0 021437 752 800T:inplacegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2044818314 0 027288 728 768T:opt64u6gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
20888166485 0 0178789 752 800T:x86_64_shldgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
20924166178 0 0176165 752 800T:x86_64_shldgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
20952166445 0 0176893 752 800T:x86_64_shldgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
20972165976 0 0174848 728 768T:x86_64_shldgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2136062767 0 071752 728 768T:opt64lcu24shldgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2167665104 0 075189 752 800T:opt64lcu24gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2221267062 0 079461 752 800T:opt64lcu24gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2223664638 0 074725 752 800T:opt64lcu24shldgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
22236159725 0 0170173 752 800T:x86_64_asmgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2225266846 0 077373 752 800T:opt64lcu24gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
22336159765 0 0172069 752 800T:x86_64_asmgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
22440159256 0 0168128 728 768T:x86_64_asmgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2245620000 0 030085 752 800T:opt64lcu6gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
22536159458 0 0169445 752 800T:x86_64_asmgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2258420638 0 031165 752 800T:opt64lcu6gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2264020854 0 033253 752 800T:opt64lcu6gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2274460462 0 069448 728 768T:opt64lcu24gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2292818851 0 027832 728 768T:opt64lcu6gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2296067334 0 079733 752 800T:opt64lcu24shldgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2298467118 0 077645 752 800T:opt64lcu24shldgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2689210885 0 021413 752 800T:sseu2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2692011205 0 023605 752 800T:sseu2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2704410505 0 020581 752 800T:sseu2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2797610285 0 019256 728 768T:sseu2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
309008353 0 018429 752 800T:mmxu1gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
318729117 0 021517 752 800T:mmxu1gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
319128973 0 019501 752 800T:mmxu1gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
351008412 0 017392 728 768T:mmxu1gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
4642020289 0 032693 752 800T:opt32bi-rvku2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
4718815970 0 028293 752 800T:simple32bigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
496885277 0 014184 728 768T:simple32bigcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
4973215473 0 024448 728 768T:opt32bi-rvku2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
499365876 0 016317 752 800T:simple32bigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
4998816529 0 026605 752 800T:opt32bi-rvku2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
5003616857 0 027381 752 800T:opt32bi-rvku2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
501485648 192 017989 952 800T:compact8gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
508765673 0 015685 752 800T:simple32bigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
513208844 0 018861 752 800T:inplace32bigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
5238824756 0 037109 752 800T:inplace32bigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
525369848 0 020293 752 800T:inplace32bigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
5262434001 0 046397 752 800T:opt32bi-s2lcu4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
527168131 0 017064 728 768T:inplace32bigcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
5424433737 0 26214846149 752 262952T:opt32biT-s2lcu4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
544806515 0 018861 752 800T:compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
5495230632 0 26214840725 752 262952T:opt32biT-s2lcu4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
5610028347 0 26214837328 728 262920T:opt32biT-s2lcu4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
5619230645 0 041165 752 800T:opt32bi-s2lcu4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
5661228798 0 038877 752 800T:opt32bi-s2lcu4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
5673227297 0 036272 728 768T:opt32bi-s2lcu4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
5707233225 0 26214843773 752 262952T:opt32biT-s2lcu4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
789602210 0 012661 752 800T:compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
865801805 0 010736 728 768T:compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
871562039 0 012069 752 800T:compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
1734121735 192 012221 952 800T:compact8gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
1810641650 192 011636 944 800T:compact8gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425
2293321397 192 010336 928 768T:compact8gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042620240425

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