Implementation notes: amd64, slide, crypto_hash/keccakc1024

Computer: slide
Architecture: amd64
CPU ID: GenuineIntel-00040651-bfebfbff
SUPERCOP version: 20160806
Operation: crypto_hash
Primitive: keccakc1024
TimeImplementationCompilerBenchmark dateSUPERCOP version
26548inplacegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
26704inplacegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
26916inplacegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
27212simplegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
27368simplegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
27636simplegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
27668opt64u6gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
27688opt64u6gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
27704simplegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
27840opt64u6gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
28000opt64u6gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
28704inplacegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
29612opt64lcu24gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
29668opt64lcu24shldgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
30184opt64lcu6gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
30324x86_64_shldgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
30424x86_64_shldgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
30460x86_64_shldgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
30468opt64lcu24gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
30476x86_64_shldgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
30508opt64lcu24gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
30616opt64lcu24gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
31176opt64lcu6gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
31216opt64lcu6gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
31320opt64lcu6gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
31752opt64lcu24shldgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
32148opt64lcu24shldgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
32156opt64lcu24shldgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
32396x86_64_asmgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
32452x86_64_asmgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
32524x86_64_asmgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
32552x86_64_asmgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
35408sphlibgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
37332sphlib-smallgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
37448sphlib-smallgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
37504sphlib-smallgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
38720sphlib-smallgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
39032sphlibgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
39040sphlibgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
39296sseu2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
39604sphlibgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
39912sseu2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
40084sseu2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
40500sseu2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
58604mmxu1gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
61788opt32bi-rvku2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
62228mmxu1gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
62244mmxu1gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
62676opt32bi-rvku2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
63024simple32bigcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
63256simple32bigcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
63312simple32bigcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
63588opt32bi-rvku2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
63876opt32bi-rvku2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
63960simple32bigcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
64248mmxu1gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
70060inplace32bigcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
70996opt32bi-s2lcu4gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
71808opt32biT-s2lcu4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
72276inplace32bigcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
73120opt32bi-s2lcu4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
73320inplace32bigcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
73440opt32biT-s2lcu4gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
73832opt32bi-s2lcu4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
74128opt32biT-s2lcu4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
74920opt32biT-s2lcu4gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
75020opt32bi-s2lcu4gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
75496inplace32bigcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
81872compactgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
135356compactgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
147104compactgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
158036compactgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
294736compact8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
298888compact8gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
313032compact8gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
429760compact8gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806

Compiler output

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