Implementation notes: amd64, slide, crypto_hash/keccak

Computer: slide
Architecture: amd64
CPU ID: GenuineIntel-00040651-bfebfbff
SUPERCOP version: 20160806
Operation: crypto_hash
Primitive: keccak
TimeImplementationCompilerBenchmark dateSUPERCOP version
15940inplacegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
15944inplacegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
16256inplacegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
16288simplegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
16388opt64u6gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
16400simplegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
16476simplegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
16532simplegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
16580opt64u6gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
16716opt64u6gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
16720opt64u6gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
17000inplacegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
17680opt64lcu24shldgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
17896opt64lcu24gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
18004x86_64_shldgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
18012x86_64_shldgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
18088opt64lcu6gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
18116x86_64_shldgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
18232x86_64_shldgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
18336opt64lcu6gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
18344opt64lcu6gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
18376opt64lcu24gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
18380opt64lcu24gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
18428opt64lcu24gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
18620opt64lcu6gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
18844opt64lcu24shldgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
18852opt64lcu24shldgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
19300x86_64_asmgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
19340x86_64_asmgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
19340x86_64_asmgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
19352x86_64_asmgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
19428opt64lcu24shldgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
23340sseu2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
23372sseu2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
23632sseu2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
23652sseu2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
34404mmxu1gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
36944mmxu1gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
36968mmxu1gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
37804simple32bigcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
37872opt32bi-rvku2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
37936mmxu1gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
39440opt32bi-rvku2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
39924simple32bigcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
39988simple32bigcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
40160opt32bi-rvku2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
40184opt32bi-rvku2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
40388simple32bigcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
43017compactgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
43680inplace32bigcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
43792opt32bi-s2lcu4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
44116inplace32bigcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
44488opt32bi-s2lcu4gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
44496opt32biT-s2lcu4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
45208inplace32bigcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
45420opt32biT-s2lcu4gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
45884opt32bi-s2lcu4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
45896opt32biT-s2lcu4gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
46328opt32biT-s2lcu4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
46612opt32bi-s2lcu4gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
47108inplace32bigcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
80672compactgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
86316compactgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
93020compactgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
174452compact8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
177100compact8gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
185512compact8gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
255740compact8gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806

Compiler output

Implementation: crypto_hash/keccak/xopu24
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
KeccakF-1600-opt64.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/4.9/include/x86intrin.h:52:0,
KeccakF-1600-opt64.c: from KeccakF-1600-opt64.c:74:
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c: In function 'KeccakPermutationOnWords':
KeccakF-1600-opt64.c: /usr/lib/gcc/x86_64-linux-gnu/4.9/include/xopintrin.h:266:1: error: inlining failed in call to always_inline '_mm_roti_epi64': target specific option mismatch
KeccakF-1600-opt64.c: _mm_roti_epi64(__m128i __A, const int __B)
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:90:33: error: called from here
KeccakF-1600-opt64.c: #define XOR128(a, b) _mm_xor_si128(a, b)
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: KeccakF-1600-xop.macros:40:11: note: in expansion of macro 'XOR128'
KeccakF-1600-opt64.c: Dei = XOR128(Cae, ROL6464same(Cio, 1)); \
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: KeccakF-1600-xop.macros:53:5: note: in expansion of macro 'computeD'
KeccakF-1600-opt64.c: computeD \
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: KeccakF-1600-unrolling.macros:17:5: note: in expansion of macro 'thetaRhoPiChiIotaPrepareTheta'
KeccakF-1600-opt64.c: thetaRhoPiChiIotaPrepareTheta( 0, A, E) \
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: note: in expansion of macro 'rounds'
KeccakF-1600-opt64.c: rounds
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/4.9/include/x86intrin.h:52:0,
KeccakF-1600-opt64.c: from KeccakF-1600-opt64.c:74:
KeccakF-1600-opt64.c: /usr/lib/gcc/x86_64-linux-gnu/4.9/include/xopintrin.h:266:1: error: inlining failed in call to always_inline '_mm_roti_epi64': target specific option mismatch
KeccakF-1600-opt64.c: _mm_roti_epi64(__m128i __A, const int __B)
KeccakF-1600-opt64.c: ...

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