Implementation notes: amd64, pluton1mn, crypto_hash/keccakc512

Computer: pluton1mn
Architecture: amd64
CPU ID: GenuineIntel-00050671-bfebfbff
SUPERCOP version: 20160806
Operation: crypto_hash
Primitive: keccakc512
TimeImplementationCompilerBenchmark dateSUPERCOP version
24766opt64u6icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
25956inplacegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
26054opt64u6gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
26194opt64u6gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
26292inplacegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
26348inplaceicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
26558simpleicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
26754opt64u6gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
26810opt64u6gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
26824simplegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
26908inplacegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
27174simplegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
27244inplacegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
27468simplegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
27482opt64u6icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
27678simplegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
27986opt64lcu24icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
28406opt64lcu6icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
28882opt64lcu24gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
28952inplaceicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
29372simpleicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
29456opt64lcu24gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
29540opt64lcu6gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
29582opt64lcu6gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
29750opt64lcu6icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
29764opt64lcu24gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
29918opt64lcu24gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
29974opt64lcu6gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
30016opt64lcu6gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
30464opt64lcu24icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
32998sphlibgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
33236sphlib-smallicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
33348sphlib-smallgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
34622sphlibgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
34846sphlib-smallgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
34916x86_64_asmicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
34916x86_64_asmicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
35042sphlibgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
35042sphlibgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
35266x86_64_asmgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
35280x86_64_asmgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
35406x86_64_asmgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
35476x86_64_asmgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
35602sphlib-smallgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
35910sphlib-smallgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
36764sphlibicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
38206sseu2icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
38206sseu2icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
46326sseu2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
46410sseu2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
47810sseu2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
48342sseu2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
53186mmxu1gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
54544mmxu1icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
54936mmxu1gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
55286mmxu1gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
56042mmxu1gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
59122opt32bi-rvku2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
60018simple32bigcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
60032mmxu1icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
64162inplace32bigcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
64554opt32bi-rvku2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
65702simple32bigcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
66150opt32bi-rvku2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
66486simple32bigcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
66584opt32bi-s2lcu4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
66654opt32biT-s2lcu4gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
67718inplace32bigcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
67984inplace32biicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
69104opt32biT-s2lcu4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
69384opt32bi-rvku2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
69650opt32biT-s2lcu4gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
69664inplace32bigcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
69972simple32bigcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
70868opt32biT-s2lcu4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
71288opt32bi-s2lcu4gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
71722inplace32bigcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
74396opt32bi-s2lcu4gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
74774opt32bi-s2lcu4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
75404compactgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
76006inplace32biicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
91896compacticc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
92386compacticc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
102536sphlib-smallicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
115598opt64lcu24shldgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
117614opt64lcu24shldgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
117922opt64lcu24shldgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
120148x86_64_shldicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
120316x86_64_shldicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
120372x86_64_shldgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
120442x86_64_shldgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
120498x86_64_shldgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
120722x86_64_shldgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
122430opt64lcu24shldicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
122542opt64lcu24shldicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
125860opt64lcu24shldgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
154420compactgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
162148compactgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
186116compactgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
218176compact8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
283052compact8gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
294560simple32biicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
295036compact8gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
311262opt32bi-rvku2icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
324450opt32biT-s2lcu4icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
339696opt32biT-s2lcu4icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
342412compact8gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
346808opt32bi-s2lcu4icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
349342opt32bi-rvku2icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
361774opt32bi-s2lcu4icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
381724simple32biicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731

Checksum failure

Implementation: crypto_hash/keccakc512/gil/singlefile
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
ebbed3a47232047ad399cb77b6324d6c902f4715de871750545b1a3b12046ebe
Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv gil/singlefile gil/singlefile_unrolled
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv gil/singlefile gil/singlefile_unrolled
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv gil/singlefile gil/singlefile_unrolled
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv gil/singlefile gil/singlefile_unrolled
icc -xMIC-AVX512 -O2 -fomit-frame-pointer gil/singlefile gil/singlefile_unrolled
icc -xMIC-AVX512 -O3 -fomit-frame-pointer gil/singlefile gil/singlefile_unrolled

Compiler output

Implementation: crypto_hash/keccakc512/xopu24
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
KeccakF-1600-opt64.c: In file included from /usr/local/gcc-6.1.0/lib/gcc/x86_64-pc-linux-gnu/6.1.0/include/x86intrin.h:54: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/local/gcc-6.1.0/lib/gcc/x86_64-pc-linux-gnu/6.1.0/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: In file included from KeccakF-1600-opt64.c:130:0:
KeccakF-1600-opt64.c: KeccakF-1600-xop.macros:103:11: note: called from here
KeccakF-1600-opt64.c: 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: #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: 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: rounds
KeccakF-1600-opt64.c: ^~~~~~
KeccakF-1600-opt64.c: In file included from /usr/local/gcc-6.1.0/lib/gcc/x86_64-pc-linux-gnu/6.1.0/include/x86intrin.h:54:0,
KeccakF-1600-opt64.c: from KeccakF-1600-opt64.c:74:
KeccakF-1600-opt64.c: /usr/local/gcc-6.1.0/lib/gcc/x86_64-pc-linux-gnu/6.1.0/include/xopintrin.h:239:1: error: inlining failed in call to always_inline '_mm_rot_epi64': target specific option mismatch
KeccakF-1600-opt64.c: _mm_rot_epi64(__m128i __A, __m128i __B)
KeccakF-1600-opt64.c: ^~~~~~~~~~~~~
KeccakF-1600-opt64.c: In file included from KeccakF-1600-opt64.c:130:0:
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

Compiler output

Implementation: crypto_hash/keccakc512/xopu24
Compiler: icc -xMIC-AVX512 -O2 -fomit-frame-pointer
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c(185): warning #266: function "_mm_roti_epi64" declared implicitly
KeccakF-1600-opt64.c: rounds
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c:
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c(185): error: argument of type "int" is incompatible with parameter of type "union __m128i"
KeccakF-1600-opt64.c: rounds
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c:
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c(185): error: argument of type "int" is incompatible with parameter of type "union __m128i"
KeccakF-1600-opt64.c: rounds
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c:
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c(185): error: argument of type "int" is incompatible with parameter of type "union __m128i"
KeccakF-1600-opt64.c: rounds
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c:
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c(185): warning #266: function "_mm_rot_epi64" declared implicitly
KeccakF-1600-opt64.c: rounds
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c:
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c(185): error: a value of type "int" cannot be assigned to an entity of type "V128"
KeccakF-1600-opt64.c: rounds
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c:
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c(185): error: a value of type "int" cannot be assigned to an entity of type "V128"
KeccakF-1600-opt64.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
icc -xMIC-AVX512 -O2 -fomit-frame-pointer xopu24
icc -xMIC-AVX512 -O3 -fomit-frame-pointer xopu24