Implementation notes: amd64, pluton1mn, crypto_hash/keccak

Computer: pluton1mn
Architecture: amd64
CPU ID: GenuineIntel-00050671-bfebfbff
SUPERCOP version: 20160806
Operation: crypto_hash
Primitive: keccak
TimeImplementationCompilerBenchmark dateSUPERCOP version
26754opt64u6icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
27958opt64u6gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
27986inplacegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
28140opt64u6gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
28462inplaceicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
28476inplacegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
28672simpleicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
28756opt64u6gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
28798opt64u6gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
28966simplegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
29120inplacegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
29232opt64u6icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
29302simplegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
29442inplacegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
29638simplegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
29960simplegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
30422opt64lcu24icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
30786opt64lcu6icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
31024opt64lcu24gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
31276inplaceicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
31682opt64lcu6gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
31724opt64lcu24gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
31780opt64lcu24gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
31780simpleicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
31808opt64lcu6gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
31864opt64lcu24gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
32102opt64lcu6gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
32298opt64lcu6gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
32536opt64lcu6icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
33908opt64lcu24icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
37744x86_64_asmicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
37744x86_64_asmicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
37968x86_64_asmgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
38024x86_64_asmgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
38052x86_64_asmgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
38052x86_64_asmgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
41286sseu2icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
41286sseu2icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
50050sseu2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
50106sseu2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
51576sseu2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
52094sseu2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
57372mmxu1gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
59010mmxu1icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
59318mmxu1gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
59724mmxu1gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
60508mmxu1gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
63980opt32bi-rvku2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
64778simple32bigcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
64918mmxu1icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
68642inplace32bigcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
68754opt32bi-rvku2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
70196opt32bi-s2lcu4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
70924simple32bigcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
71134opt32bi-rvku2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
71470opt32biT-s2lcu4gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
71904simple32bigcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
72674inplace32bigcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
73178inplace32biicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
74592opt32biT-s2lcu4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
74606opt32bi-rvku2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
75054opt32biT-s2lcu4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
75096inplace32bigcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
75292opt32biT-s2lcu4gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
75684simple32bigcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
76048opt32bi-s2lcu4gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
77588inplace32bigcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
79646opt32bi-s2lcu4gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
80626opt32bi-s2lcu4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
82320inplace32biicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
84616compactgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
99540compacticc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
100030compacticc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
123984opt64lcu24shldgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
127638opt64lcu24shldgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
127862opt64lcu24shldgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
129976x86_64_shldicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
129976x86_64_shldicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
130102x86_64_shldgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
130130x86_64_shldgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
130144x86_64_shldgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
130242x86_64_shldgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
132006opt64lcu24shldicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
132188opt64lcu24shldicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
136332opt64lcu24shldgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
167062compactgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
175630compactgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
201614compactgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
228256compact8icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
234262compact8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
250502compact8icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
306404compact8gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
319382compact8gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
319578simple32biicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
334852opt32bi-rvku2icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
352534opt32biT-s2lcu4icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
353318simple32biicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
368844opt32biT-s2lcu4icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
371434compact8gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
372778opt32bi-s2lcu4icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
375438opt32bi-rvku2icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
385098opt32bi-s2lcu4icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731

Compiler output

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