Implementation notes: amd64, utrecht, crypto_hash/keccak

Computer: utrecht
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20160806
Operation: crypto_hash
Primitive: keccak
TimeImplementationCompilerBenchmark dateSUPERCOP version
21447x86_64_asmgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
21501x86_64_asmgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
21510x86_64_asmgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
21861x86_64_asmgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
22104opt64lcu6gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
24282x86_64_shldgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
24300x86_64_shldgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
24426x86_64_shldgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
24876x86_64_shldgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
25317opt64u6gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
27351simplegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
27936inplacegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
32787opt64lcu24gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
33246sseu2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
33246sseu2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
34425sseu2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
34596sseu2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
35721inplacegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
36018inplacegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
37098opt64u6gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
37197opt64u6gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
37251simplegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
37953simplegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
38133simplegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
38340opt64lcu24shldgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
38772inplacegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
39843mmxu1gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
39843opt64u6gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
40572mmxu1gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
40707mmxu1gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
42021opt64lcu24gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
42183opt64lcu24gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
42588opt64lcu6gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
42606opt64lcu6gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
42768mmxu1gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
43785opt64lcu24gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
45522opt64lcu24shldgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
45531opt64lcu24shldgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
46575opt64lcu6gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
47223opt64lcu24shldgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
65682simple32bigcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
67194opt32bi-rvku2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
71397inplace32bigcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
74412compactgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
74439opt32bi-s2lcu4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
80523opt32bi-s2lcu4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
82260opt32bi-s2lcu4gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
83709opt32biT-s2lcu4gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
87336opt32bi-rvku2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
89829opt32bi-s2lcu4gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
91917simple32bigcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
95103opt32bi-rvku2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
96768opt32bi-rvku2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
97605simple32bigcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
97848simple32bigcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
112905inplace32bigcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
114669opt32biT-s2lcu4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
115272opt32biT-s2lcu4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
118152opt32biT-s2lcu4gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
118998compactgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
119340compactgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
120861inplace32bigcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
123831compactgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
127431inplace32bigcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
214839compact8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
229635compact8gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
234657compact8gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
665208compact8gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731

Compiler output

Implementation: crypto_hash/keccak/xopu24
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c: In function 'KeccakPermutationOnWords':
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: incompatible type for argument 2 of '_mm_xor_si128'
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.8/include/xmmintrin.h:1246:0,
KeccakF-1600-opt64.c: from /usr/lib/gcc/x86_64-linux-gnu/4.8/include/x86intrin.h:34,
KeccakF-1600-opt64.c: from KeccakF-1600-opt64.c:74:
KeccakF-1600-opt64.c: /usr/lib/gcc/x86_64-linux-gnu/4.8/include/emmintrin.h:1264:1: note: expected '__m128i' but argument is of type 'int'
KeccakF-1600-opt64.c: _mm_xor_si128 (__m128i __A, __m128i __B)
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: incompatible type for argument 2 of '_mm_xor_si128'
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.8/include/xmmintrin.h:1246:0,
KeccakF-1600-opt64.c: from /usr/lib/gcc/x86_64-linux-gnu/4.8/include/x86intrin.h:34,
KeccakF-1600-opt64.c: from KeccakF-1600-opt64.c:74:
KeccakF-1600-opt64.c: /usr/lib/gcc/x86_64-linux-gnu/4.8/include/emmintrin.h:1264:1: note: expected '__m128i' but argument is of type 'int'
KeccakF-1600-opt64.c: _mm_xor_si128 (__m128i __A, __m128i __B)
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: can't convert between vector values of different size
KeccakF-1600-opt64.c: rounds
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: incompatible type for argument 2 of '_mm_xor_si128'
KeccakF-1600-opt64.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/4.8/include/xmmintrin.h:1246:0,
KeccakF-1600-opt64.c: from /usr/lib/gcc/x86_64-linux-gnu/4.8/include/x86intrin.h:34,
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