Implementation notes: amd64, slide, crypto_hash/keccakc512

Computer: slide
Architecture: amd64
CPU ID: GenuineIntel-00040651-bfebfbff
SUPERCOP version: 20160806
Operation: crypto_hash
Primitive: keccakc512
TimeImplementationCompilerBenchmark dateSUPERCOP version
14732inplacegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
14772inplacegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
15012inplacegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
15056simplegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
15148simplegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
15176opt64u6gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
15336opt64u6gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
15360simplegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
15432simplegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
15460opt64u6gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
15476opt64u6gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
15584inplacegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
16324opt64lcu24shldgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
16488opt64lcu24gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
16784x86_64_shldgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
16792opt64lcu6gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
16796x86_64_shldgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
16880opt64lcu6gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
16912x86_64_shldgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
16936x86_64_shldgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
16952opt64lcu6gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
16964opt64lcu24gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
17000opt64lcu24gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
17048opt64lcu24gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
17084opt64lcu6gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
17508opt64lcu24shldgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
17524opt64lcu24shldgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
17620opt64lcu24shldgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
17920x86_64_asmgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
17940x86_64_asmgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
17944x86_64_asmgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
17948x86_64_asmgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
19684sphlibgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
20584sphlib-smallgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
20968sphlib-smallgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
21000sphlib-smallgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
21016sphlib-smallgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
21636sphlibgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
21648sseu2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
21684sphlibgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
21688sseu2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
21848sphlibgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
21852sseu2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
21896sseu2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
31988mmxu1gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
34128mmxu1gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
34164mmxu1gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
34648opt32bi-rvku2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
35100simple32bigcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
35160mmxu1gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
36852opt32bi-rvku2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
36920simple32bigcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
36936simple32bigcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
37268simple32bigcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
37392opt32bi-rvku2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
37604opt32bi-rvku2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
37755inplace32bigcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
40484opt32bi-s2lcu4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
40664inplace32bigcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
40728opt32biT-s2lcu4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
40760inplace32bigcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
41244opt32bi-s2lcu4gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
41392opt32biT-s2lcu4gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
42468opt32bi-s2lcu4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
43144opt32biT-s2lcu4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
43328opt32biT-s2lcu4gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
43624inplace32bigcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
44168opt32bi-s2lcu4gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
45868compactgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
75732compactgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
80200compactgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
86168compactgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
159688compact8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
163344compact8gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
171532compact8gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
234268compact8gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806

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: 8, 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

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/lib/gcc/x86_64-linux-gnu/4.9/include/x86intrin.h:52: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/lib/gcc/x86_64-linux-gnu/4.9/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: KeccakF-1600-opt64.c:90:33: error: called from here
KeccakF-1600-opt64.c: #define XOR128(a, b) _mm_xor_si128(a, b)
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: KeccakF-1600-xop.macros:40:11: note: in expansion of macro 'XOR128'
KeccakF-1600-opt64.c: Dei = XOR128(Cae, ROL6464same(Cio, 1)); \
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: KeccakF-1600-xop.macros:53:5: note: in expansion of macro 'computeD'
KeccakF-1600-opt64.c: computeD \
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: KeccakF-1600-unrolling.macros:17:5: note: in expansion of macro 'thetaRhoPiChiIotaPrepareTheta'
KeccakF-1600-opt64.c: thetaRhoPiChiIotaPrepareTheta( 0, A, E) \
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/lib/gcc/x86_64-linux-gnu/4.9/include/x86intrin.h:52:0,
KeccakF-1600-opt64.c: from KeccakF-1600-opt64.c:74:
KeccakF-1600-opt64.c: /usr/lib/gcc/x86_64-linux-gnu/4.9/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: ...

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