Implementation notes: amd64, pluton1mn, crypto_hash/keccakc256

Computer: pluton1mn
Architecture: amd64
CPU ID: GenuineIntel-00050671-bfebfbff
SUPERCOP version: 20160806
Operation: crypto_hash
Primitive: keccakc256
TimeImplementationCompilerBenchmark dateSUPERCOP version
20902opt64u6icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
21826opt64u6gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
21854inplacegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
21924opt64u6gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
22176inplacegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
22218inplaceicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
22428opt64u6gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
22456opt64u6gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
22610simplegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
22638inplacegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
22638simpleicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
22862simplegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
22932inplacegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
23016opt64u6icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
23044simplegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
23268simplegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
23632opt64lcu24icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
23954opt64lcu6icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
24220opt64lcu24gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
24304inplaceicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
24668opt64lcu6gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
24682opt64lcu24gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
24780opt64lcu24gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
24864opt64lcu6gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
24878simpleicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
24962opt64lcu24gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
25172opt64lcu6gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
25186opt64lcu6gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
25970opt64lcu6icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
26796opt64lcu24icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
29218x86_64_asmicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
29218x86_64_asmicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
29498x86_64_asmgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
29554x86_64_asmgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
29610x86_64_asmgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
30086x86_64_asmgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
31934sseu2icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
31962sseu2icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
38892sseu2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
38976sseu2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
39858sseu2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
40334sseu2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
44450mmxu1gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
45808mmxu1icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
45920mmxu1gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
46186mmxu1gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
46830mmxu1gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
50134mmxu1icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
51912simple32bigcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
52262opt32bi-rvku2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
55020inplace32bigcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
56070opt32bi-rvku2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
56924opt32bi-s2lcu4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
57022opt32biT-s2lcu4gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
57540opt32bi-rvku2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
57666simple32bigcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
58380simple32bigcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
58954opt32biT-s2lcu4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
58968inplace32biicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
59206inplace32bigcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
59262opt32biT-s2lcu4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
59864opt32biT-s2lcu4gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
60732opt32bi-rvku2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
60872inplace32bigcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
61446simple32bigcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
61698opt32bi-s2lcu4gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
62678inplace32bigcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
63098compactgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
64078opt32bi-s2lcu4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
64540opt32bi-s2lcu4gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
65814inplace32biicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
76622compacticc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
77700compacticc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
96054opt64lcu24shldgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
98462opt64lcu24shldgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
98644opt64lcu24shldgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
100142x86_64_shldicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
100268x86_64_shldicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
100506x86_64_shldgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
100506x86_64_shldgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
100730x86_64_shldgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
102046opt64lcu24shldicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
102144x86_64_shldgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
102186opt64lcu24shldicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
105238opt64lcu24shldgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
128842compactgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
135380compactgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
155666compactgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
180418compact8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
235900compact8gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
246274compact8gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
247254simple32biicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
247632opt32bi-rvku2icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
267428opt32biT-s2lcu4icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
273182simple32biicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
277116opt32bi-s2lcu4icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
280266opt32bi-rvku2icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
282366opt32biT-s2lcu4icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
287434compact8gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
291368opt32bi-s2lcu4icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731

Compiler output

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