Implementation notes: amd64, pluton1mn, crypto_hash/keccakc768

Computer: pluton1mn
Architecture: amd64
CPU ID: GenuineIntel-00050671-bfebfbff
SUPERCOP version: 20160806
Operation: crypto_hash
Primitive: keccakc768
TimeImplementationCompilerBenchmark dateSUPERCOP version
30786opt64u6icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
31654inplaceicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
32102inplacegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
32228opt64u6gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
32480inplacegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
32508simpleicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
32592opt64u6gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
33194opt64u6gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
33362simplegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
33460opt64u6gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
33670simplegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
33754inplacegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
33810inplacegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
34104simplegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
34174opt64u6icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
34188simplegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
34846opt64lcu24icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
34916inplaceicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
35420opt64lcu6icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
35924opt64lcu24gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
36008simpleicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
36288opt64lcu6icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
36442opt64lcu6gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
36652opt64lcu24gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
36736opt64lcu24gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
36974opt64lcu6gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
37044opt64lcu24gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
37058opt64lcu6gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
37282opt64lcu6gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
37576opt64lcu24icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
43540x86_64_asmicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
43540x86_64_asmicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
43848x86_64_asmgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
43960x86_64_asmgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
43960x86_64_asmgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
44058x86_64_asmgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
47488sseu2icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
47488sseu2icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
57008sseu2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
57568sseu2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
57750sseu2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
59402sseu2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
66388mmxu1gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
68096mmxu1icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
68628mmxu1gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
69202mmxu1gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
69706mmxu1gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
74900mmxu1icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
77056opt32bi-rvku2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
77126opt32bi-rvku2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
77672simple32bigcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
78946simple32bigcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
79114opt32bi-rvku2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
79954simple32bigcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
81060opt32biT-s2lcu4gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
81550inplace32bigcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
81928inplace32biicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
82754opt32bi-rvku2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
83706inplace32bigcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
84434simple32bigcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
84686opt32bi-s2lcu4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
84770opt32biT-s2lcu4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
85008opt32biT-s2lcu4gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
85302opt32bi-s2lcu4gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
86282opt32biT-s2lcu4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
86366inplace32bigcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
87738inplace32bigcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
89558opt32bi-s2lcu4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
89768opt32bi-s2lcu4gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
92554inplace32biicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
94164compactgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
113862compacticc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
114814compacticc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
143150opt64lcu24shldgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
147154opt64lcu24shldgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
147196opt64lcu24shldgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
150318x86_64_shldgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
150388x86_64_shldicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
150500x86_64_shldgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
150710x86_64_shldgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
150752x86_64_shldgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
151116x86_64_shldicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
151984opt64lcu24shldicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
152558opt64lcu24shldicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
156842opt64lcu24shldgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
193130compactgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
202370compactgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
232582compactgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
263466compact8icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
270788compact8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080620160731
289030compact8icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
353794compact8gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080620160731
365694simple32biicc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
369460compact8gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080620160731
377412opt32bi-rvku2icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
400904opt32biT-s2lcu4icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
405272simple32biicc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
420420opt32bi-s2lcu4icc -xMIC-AVX512 -O2 -fomit-frame-pointer2016080620160731
423850opt32bi-rvku2icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
428022compact8gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080620160731
428078opt32biT-s2lcu4icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731
435288opt32bi-s2lcu4icc -xMIC-AVX512 -O3 -fomit-frame-pointer2016080620160731

Compiler output

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