Implementation notes: amd64, utrecht, crypto_hash/keccakc768

Computer: utrecht
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20160806
Operation: crypto_hash
Primitive: keccakc768
TimeImplementationCompilerBenchmark dateSUPERCOP version
24507x86_64_asmgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
24588x86_64_asmgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
24678x86_64_asmgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
25038x86_64_asmgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
25074opt64lcu24gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
25551opt64lcu6gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
28278x86_64_shldgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
28323x86_64_shldgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
28368x86_64_shldgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
28692x86_64_shldgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
29286opt64lcu24shldgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
29286opt64u6gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
31356simplegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
31995inplacegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
32382opt64lcu24gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
32472opt64lcu24gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
32751opt64lcu6gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
32823opt64lcu6gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
33453opt64lcu24gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
34938opt64lcu6gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
35496opt64lcu24shldgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
35586opt64lcu24shldgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
36126opt64lcu24shldgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
38421sseu2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
38421sseu2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
39519sseu2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
39942sseu2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
40950inplacegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
41418inplacegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
42903opt64u6gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
42939opt64u6gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
43020simplegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
43371simplegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
43488simplegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
44271inplacegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
46062opt64u6gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
62721opt32biT-s2lcu4gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
66438opt32bi-s2lcu4gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
68742mmxu1gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
70461mmxu1gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
70740mmxu1gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
72279mmxu1gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
73575simple32bigcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
76707opt32bi-rvku2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
85689compactgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
85833opt32bi-s2lcu4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
87255opt32biT-s2lcu4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
87804opt32biT-s2lcu4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
89685opt32biT-s2lcu4gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
90594opt32bi-s2lcu4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
92925opt32bi-s2lcu4gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
105642simple32bigcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
110592simple32bigcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
110763simple32bigcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
119691inplace32bigcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
126684inplace32bigcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
135990compactgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
138420compactgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
140220inplace32bigcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
140886compactgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
151875opt32bi-rvku2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
158823opt32bi-rvku2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
164673opt32bi-rvku2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
216567inplace32bigcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
249606compact8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
261288compact8gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
270765compact8gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
776079compact8gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731

Compiler output

Implementation: crypto_hash/keccakc768/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