Implementation notes: amd64, utrecht, crypto_hash/keccakc256

Computer: utrecht
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20160806
Operation: crypto_hash
Primitive: keccakc256
TimeImplementationCompilerBenchmark dateSUPERCOP version
16767x86_64_asmgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
16785x86_64_asmgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
16803x86_64_asmgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
17082opt64lcu24gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
17217opt64lcu6gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
17226x86_64_asmgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
19107x86_64_shldgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
19170x86_64_shldgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
19197x86_64_shldgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
19557x86_64_shldgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
19809opt64u6gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
19836opt64lcu24shldgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
21195simplegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
21663inplacegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
21672opt64lcu24gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
22275opt64lcu6gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
22284opt64lcu6gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
23796opt64lcu24shldgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
23859opt64lcu24shldgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
24156opt64lcu6gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
24597opt64lcu24shldgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
25920sseu2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
25938sseu2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
26811sseu2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
26946sseu2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
27738inplacegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
27810inplacegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
28611opt64u6gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
28683opt64u6gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
28746simplegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
29187simplegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
29610simplegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
30123inplacegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
31014mmxu1gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
31014opt64u6gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
31617mmxu1gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
31617mmxu1gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
32499opt64lcu24gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
33480mmxu1gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
34281opt64lcu24gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
47952opt32bi-s2lcu4gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
53073opt32bi-rvku2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
53100simple32bigcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
57303inplace32bigcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
57744compactgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
59211opt32bi-s2lcu4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
60669opt32biT-s2lcu4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
62199opt32biT-s2lcu4gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
64935opt32bi-s2lcu4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
66474opt32bi-s2lcu4gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
67221opt32biT-s2lcu4gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
69714opt32bi-rvku2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
71667simple32bigcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
75762opt32bi-rvku2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
76986opt32bi-rvku2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
77508simple32bigcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
77940simple32bigcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
89073inplace32bigcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
91593opt32biT-s2lcu4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
91782compactgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
92214compactgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
93915inplace32bigcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
95067compactgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
100350inplace32bigcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
161874compact8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
174339compact8gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
182214compact8gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
505251compact8gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731

Compiler output

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