Implementation notes: amd64, floodyberry, crypto_hash/keccakc512

Computer: floodyberry
Architecture: amd64
CPU ID: GenuineIntel-00010676-bfebfbff
SUPERCOP version: 20140505
Operation: crypto_hash
Primitive: keccakc512
TimeImplementationCompilerBenchmark dateSUPERCOP version
19762x86_64_asmicc -m64 -O3 -static -xHost -fomit-frame-pointer2014050820140505
19775x86_64_asmgcc -m64 -O3 -fomit-frame-pointer2014050820140505
19775x86_64_asmicc -m64 -O1 -static -xHost -fomit-frame-pointer2014050820140505
19788x86_64_asmgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
19812x86_64_asmgcc -m64 -O2 -fomit-frame-pointer2014050820140505
19825x86_64_asmgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
20400opt64lcu24gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
20412opt64lcu24gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
20688opt64lcu24gcc -m64 -O2 -fomit-frame-pointer2014050820140505
20737opt64lcu6icc -m64 -O3 -static -xHost -fomit-frame-pointer2014050820140505
20750opt64lcu24gcc -m64 -O3 -fomit-frame-pointer2014050820140505
20837opt64lcu6gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
20838opt64lcu24icc -m64 -O1 -static -xHost -fomit-frame-pointer2014050820140505
20850opt64lcu24icc -m64 -O3 -static -xHost -fomit-frame-pointer2014050820140505
20900opt64lcu6gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
21125opt64lcu6gcc -m64 -O2 -fomit-frame-pointer2014050820140505
21125opt64lcu6gcc -m64 -O3 -fomit-frame-pointer2014050820140505
21437opt64lcu6icc -m64 -O1 -static -xHost -fomit-frame-pointer2014050820140505
21737opt64u6icc -m64 -O3 -static -xHost -fomit-frame-pointer2014050820140505
21900simpleicc -m64 -O3 -static -xHost -fomit-frame-pointer2014050820140505
21950opt64lcu24shldgcc -m64 -O2 -fomit-frame-pointer2014050820140505
21962opt64lcu24shldgcc -m64 -O3 -fomit-frame-pointer2014050820140505
22025opt64lcu24shldgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
22050opt64lcu24shldgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
22100inplaceicc -m64 -O3 -static -xHost -fomit-frame-pointer2014050820140505
22212opt64u6gcc -m64 -O2 -fomit-frame-pointer2014050820140505
22250opt64u6gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
22262opt64u6gcc -m64 -O3 -fomit-frame-pointer2014050820140505
22263opt64u6gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
22625x86_64_shldgcc -m64 -O2 -fomit-frame-pointer2014050820140505
22625x86_64_shldgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
22637x86_64_shldgcc -m64 -O3 -fomit-frame-pointer2014050820140505
22675x86_64_shldicc -m64 -O1 -static -xHost -fomit-frame-pointer2014050820140505
22775x86_64_shldicc -m64 -O3 -static -xHost -fomit-frame-pointer2014050820140505
22813opt64lcu24shldicc -m64 -O1 -static -xHost -fomit-frame-pointer2014050820140505
22837x86_64_shldgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
22875opt64u6icc -m64 -O1 -static -xHost -fomit-frame-pointer2014050820140505
22888opt64lcu24shldicc -m64 -O3 -static -xHost -fomit-frame-pointer2014050820140505
23137inplacegcc -m64 -O3 -fomit-frame-pointer2014050820140505
23137inplacegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
23212inplacegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
23238inplaceicc -m64 -O1 -static -xHost -fomit-frame-pointer2014050820140505
23325opt64lcu24clang -O1 -march=native -m64 -fomit-frame-pointer2014050820140505
23375opt64lcu24clang -O3 -march=native -m64 -fomit-frame-pointer2014050820140505
23475inplacegcc -m64 -O2 -fomit-frame-pointer2014050820140505
23563inplaceclang -O3 -march=native -m64 -fomit-frame-pointer2014050820140505
23662simplegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
23837simplegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
23888simpleicc -m64 -O1 -static -xHost -fomit-frame-pointer2014050820140505
24000opt64lcu6clang -O3 -march=native -m64 -fomit-frame-pointer2014050820140505
24225opt64lcu6clang -O1 -march=native -m64 -fomit-frame-pointer2014050820140505
24325inplaceclang -O1 -march=native -m64 -fomit-frame-pointer2014050820140505
24325simplegcc -m64 -O2 -fomit-frame-pointer2014050820140505
24937simplegcc -m64 -O3 -fomit-frame-pointer2014050820140505
26550opt64u6clang -O1 -march=native -m64 -fomit-frame-pointer2014050820140505
26550opt64u6clang -O3 -march=native -m64 -fomit-frame-pointer2014050820140505
26562sseu2icc -m64 -O1 -static -xHost -fomit-frame-pointer2014050820140505
26662simpleclang -O1 -march=native -m64 -fomit-frame-pointer2014050820140505
26900simpleclang -O3 -march=native -m64 -fomit-frame-pointer2014050820140505
26962sseu2icc -m64 -O3 -static -xHost -fomit-frame-pointer2014050820140505
27037sphlibgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
27125sphlibgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
27675sphlibgcc -m64 -O3 -fomit-frame-pointer2014050820140505
27837sphlibgcc -m64 -O2 -fomit-frame-pointer2014050820140505
27850sphlib-smallgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
27963sphlibicc -m64 -O1 -static -xHost -fomit-frame-pointer2014050820140505
27987sphlib-smallgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
28162opt64lcu24shldclang -O1 -march=native -m64 -fomit-frame-pointer2014050820140505
28475sseu2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
28500sseu2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
28512opt64lcu24shldclang -O3 -march=native -m64 -fomit-frame-pointer2014050820140505
28788sphlib-smallgcc -m64 -O3 -fomit-frame-pointer2014050820140505
28975sphlib-smallgcc -m64 -O2 -fomit-frame-pointer2014050820140505
30537sphlib-smallicc -m64 -O1 -static -xHost -fomit-frame-pointer2014050820140505
31400sphlibclang -O3 -march=native -m64 -fomit-frame-pointer2014050820140505
32838sphlib-smallclang -O3 -march=native -m64 -fomit-frame-pointer2014050820140505
33063mmxu1icc -m64 -O1 -static -xHost -fomit-frame-pointer2014050820140505
33525mmxu1icc -m64 -O3 -static -xHost -fomit-frame-pointer2014050820140505
38112sphlib-smallicc -m64 -O3 -static -xHost -fomit-frame-pointer2014050820140505
40888mmxu1gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
41113sphlib-smallclang -O1 -march=native -m64 -fomit-frame-pointer2014050820140505
41613mmxu1gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
41675mmxu1gcc -m64 -O3 -fomit-frame-pointer2014050820140505
42362mmxu1gcc -m64 -O2 -fomit-frame-pointer2014050820140505
42500mmxu1clang -O1 -march=native -m64 -fomit-frame-pointer2014050820140505
42975mmxu1clang -O3 -march=native -m64 -fomit-frame-pointer2014050820140505
44500sphlibclang -O1 -march=native -m64 -fomit-frame-pointer2014050820140505
45313opt32bi-s2lcu4gcc -m64 -O3 -fomit-frame-pointer2014050820140505
45350opt32bi-s2lcu4gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
47575opt32biT-s2lcu4gcc -m64 -O3 -fomit-frame-pointer2014050820140505
47688opt32biT-s2lcu4gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
47838opt32biT-s2lcu4gcc -m64 -O2 -fomit-frame-pointer2014050820140505
48462opt32biT-s2lcu4gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
50688opt32biT-s2lcu4icc -m64 -O1 -static -xHost -fomit-frame-pointer2014050820140505
50812opt32bi-rvku2gcc -m64 -O3 -fomit-frame-pointer2014050820140505
51037opt32bi-s2lcu4gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
51500opt32bi-s2lcu4gcc -m64 -O2 -fomit-frame-pointer2014050820140505
52250opt32bi-rvku2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
52512simple32bigcc -m64 -O3 -fomit-frame-pointer2014050820140505
52725simple32bigcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
53712opt32bi-s2lcu4icc -m64 -O1 -static -xHost -fomit-frame-pointer2014050820140505
53750inplace32biclang -O1 -march=native -m64 -fomit-frame-pointer2014050820140505
55550inplace32biclang -O3 -march=native -m64 -fomit-frame-pointer2014050820140505
56500opt32bi-rvku2gcc -m64 -O2 -fomit-frame-pointer2014050820140505
56500simple32biicc -m64 -O1 -static -xHost -fomit-frame-pointer2014050820140505
57050opt32bi-rvku2icc -m64 -O1 -static -xHost -fomit-frame-pointer2014050820140505
57200inplace32bigcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
57687opt32bi-rvku2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
57950simple32bigcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
58225simple32bigcc -m64 -O2 -fomit-frame-pointer2014050820140505
58925inplace32bigcc -m64 -O3 -fomit-frame-pointer2014050820140505
63387inplace32bigcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
63425inplace32bigcc -m64 -O2 -fomit-frame-pointer2014050820140505
63900inplace32biicc -m64 -O3 -static -xHost -fomit-frame-pointer2014050820140505
64613inplace32biicc -m64 -O1 -static -xHost -fomit-frame-pointer2014050820140505
64725opt32biT-s2lcu4clang -O1 -march=native -m64 -fomit-frame-pointer2014050820140505
64987compactgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
65262opt32bi-s2lcu4clang -O3 -march=native -m64 -fomit-frame-pointer2014050820140505
65387compactgcc -m64 -O3 -fomit-frame-pointer2014050820140505
66525opt32bi-s2lcu4clang -O1 -march=native -m64 -fomit-frame-pointer2014050820140505
68537opt32biT-s2lcu4clang -O3 -march=native -m64 -fomit-frame-pointer2014050820140505
69837compacticc -m64 -O3 -static -xHost -fomit-frame-pointer2014050820140505
73875simple32biclang -O3 -march=native -m64 -fomit-frame-pointer2014050820140505
74175simple32biclang -O1 -march=native -m64 -fomit-frame-pointer2014050820140505
74387opt32bi-rvku2clang -O1 -march=native -m64 -fomit-frame-pointer2014050820140505
74463compactclang -O3 -march=native -m64 -fomit-frame-pointer2014050820140505
75225opt32bi-rvku2clang -O3 -march=native -m64 -fomit-frame-pointer2014050820140505
98700compacticc -m64 -O1 -static -xHost -fomit-frame-pointer2014050820140505
104713compactgcc -m64 -O2 -fomit-frame-pointer2014050820140505
104800compactgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
106937compactclang -O1 -march=native -m64 -fomit-frame-pointer2014050820140505
156238opt32biT-s2lcu4icc -m64 -O3 -static -xHost -fomit-frame-pointer2014050820140505
160562opt32bi-s2lcu4icc -m64 -O3 -static -xHost -fomit-frame-pointer2014050820140505
162538opt32bi-rvku2icc -m64 -O3 -static -xHost -fomit-frame-pointer2014050820140505
164725simple32biicc -m64 -O3 -static -xHost -fomit-frame-pointer2014050820140505
179925compact8icc -m64 -O3 -static -xHost -fomit-frame-pointer2014050820140505
192363compact8gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
195850compact8gcc -m64 -O2 -fomit-frame-pointer2014050820140505
199450compact8clang -O3 -march=native -m64 -fomit-frame-pointer2014050820140505
232150compact8icc -m64 -O1 -static -xHost -fomit-frame-pointer2014050820140505
245562compact8clang -O1 -march=native -m64 -fomit-frame-pointer2014050820140505
254412compact8gcc -m64 -O3 -fomit-frame-pointer2014050820140505
256025compact8gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505

Test failure

Implementation: crypto_hash/keccakc512/sseu2
Compiler: clang -O1 -march=native -m64 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O1 -march=native -m64 -fomit-frame-pointer sseu2
clang -O3 -march=native -m64 -fomit-frame-pointer sseu2

Compiler output

Implementation: crypto_hash/keccakc512/xopu24
Compiler: clang -O1 -march=native -m64 -fomit-frame-pointer
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: warning: implicit declaration of function '_mm_roti_epi64' is invalid in C99 [-Wimplicit-function-declaration]
KeccakF-1600-opt64.c: rounds
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: ./KeccakF-1600-unrolling.macros:17:5: note: expanded from macro 'rounds'
KeccakF-1600-opt64.c: thetaRhoPiChiIotaPrepareTheta( 0, A, E) \
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: ./KeccakF-1600-xop.macros:53:5: note: expanded from macro 'thetaRhoPiChiIotaPrepareTheta'
KeccakF-1600-opt64.c: computeD \
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: ./KeccakF-1600-xop.macros:40:23: note: expanded from macro 'computeD'
KeccakF-1600-opt64.c: Dei = XOR128(Cae, ROL6464same(Cio, 1)); \
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:102:33: note: expanded from macro 'ROL6464same'
KeccakF-1600-opt64.c: #define ROL6464same(a, o) _mm_roti_epi64(a, o)
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:90:50: note: expanded from macro 'XOR128'
KeccakF-1600-opt64.c: #define XOR128(a, b) _mm_xor_si128(a, b)
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: passing 'int' to parameter of incompatible type '__m128i'
KeccakF-1600-opt64.c: rounds
KeccakF-1600-opt64.c: ^~~~~~
KeccakF-1600-opt64.c: ./KeccakF-1600-unrolling.macros:17:5: note: expanded from macro 'rounds'
KeccakF-1600-opt64.c: thetaRhoPiChiIotaPrepareTheta( 0, A, E) \
KeccakF-1600-opt64.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakF-1600-opt64.c: ./KeccakF-1600-xop.macros:53:5: note: expanded from macro 'thetaRhoPiChiIotaPrepareTheta'
KeccakF-1600-opt64.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O1 -march=native -m64 -fomit-frame-pointer xopu24
clang -O3 -march=native -m64 -fomit-frame-pointer xopu24

Compiler output

Implementation: crypto_hash/keccakc512/x86_64_asm
Compiler: clang -O1 -march=native -m64 -fomit-frame-pointer
KeccakF-1600-x86-64-gas.s: clang: warning: argument unused during compilation: '-fomit-frame-pointer'
KeccakF-1600-x86-64-gas.s: clang: warning: argument unused during compilation: '-D SUPERCOP'
KeccakF-1600-x86-64-gas.s: clang: warning: argument unused during compilation: '-I .'
KeccakF-1600-x86-64-gas.s: clang: warning: argument unused during compilation: '-I /home/bloom/supercop-20140505/supercop-data/floodyberry/amd64/include'
KeccakF-1600-x86-64-gas.s: KeccakF-1600-x86-64-gas.s:50:16: error: unknown token in expression
KeccakF-1600-x86-64-gas.s: .equ apState, %rdi
KeccakF-1600-x86-64-gas.s: ^
KeccakF-1600-x86-64-gas.s: KeccakF-1600-x86-64-gas.s:51:16: error: unknown token in expression
KeccakF-1600-x86-64-gas.s: .equ apInput, %rsi
KeccakF-1600-x86-64-gas.s: ^
KeccakF-1600-x86-64-gas.s: KeccakF-1600-x86-64-gas.s:52:18: error: unknown token in expression
KeccakF-1600-x86-64-gas.s: .equ aNbrWords, %rdx
KeccakF-1600-x86-64-gas.s: ^
KeccakF-1600-x86-64-gas.s: KeccakF-1600-x86-64-gas.s:55:16: error: unknown token in expression
KeccakF-1600-x86-64-gas.s: .equ xpState, %r9
KeccakF-1600-x86-64-gas.s: ^
KeccakF-1600-x86-64-gas.s: KeccakF-1600-x86-64-gas.s:58:12: error: unknown token in expression
KeccakF-1600-x86-64-gas.s: .equ rT1, %rax
KeccakF-1600-x86-64-gas.s: ^
KeccakF-1600-x86-64-gas.s: KeccakF-1600-x86-64-gas.s:59:16: error: unknown token in expression
KeccakF-1600-x86-64-gas.s: .equ rpState, %rdi
KeccakF-1600-x86-64-gas.s: ^
KeccakF-1600-x86-64-gas.s: KeccakF-1600-x86-64-gas.s:60:16: error: unknown token in expression
KeccakF-1600-x86-64-gas.s: .equ rpStack, %rsp
KeccakF-1600-x86-64-gas.s: ^
KeccakF-1600-x86-64-gas.s: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O1 -march=native -m64 -fomit-frame-pointer x86_64_asm
clang -O3 -march=native -m64 -fomit-frame-pointer x86_64_asm

Compiler output

Implementation: crypto_hash/keccakc512/x86_64_shld
Compiler: clang -O1 -march=native -m64 -fomit-frame-pointer
KeccakF-1600-x86-64-shld-gas.s: clang: warning: argument unused during compilation: '-fomit-frame-pointer'
KeccakF-1600-x86-64-shld-gas.s: clang: warning: argument unused during compilation: '-D SUPERCOP'
KeccakF-1600-x86-64-shld-gas.s: clang: warning: argument unused during compilation: '-I .'
KeccakF-1600-x86-64-shld-gas.s: clang: warning: argument unused during compilation: '-I /home/bloom/supercop-20140505/supercop-data/floodyberry/amd64/include'
KeccakF-1600-x86-64-shld-gas.s: KeccakF-1600-x86-64-shld-gas.s:50:16: error: unknown token in expression
KeccakF-1600-x86-64-shld-gas.s: .equ apState, %rdi
KeccakF-1600-x86-64-shld-gas.s: ^
KeccakF-1600-x86-64-shld-gas.s: KeccakF-1600-x86-64-shld-gas.s:51:16: error: unknown token in expression
KeccakF-1600-x86-64-shld-gas.s: .equ apInput, %rsi
KeccakF-1600-x86-64-shld-gas.s: ^
KeccakF-1600-x86-64-shld-gas.s: KeccakF-1600-x86-64-shld-gas.s:52:18: error: unknown token in expression
KeccakF-1600-x86-64-shld-gas.s: .equ aNbrWords, %rdx
KeccakF-1600-x86-64-shld-gas.s: ^
KeccakF-1600-x86-64-shld-gas.s: KeccakF-1600-x86-64-shld-gas.s:55:16: error: unknown token in expression
KeccakF-1600-x86-64-shld-gas.s: .equ xpState, %r9
KeccakF-1600-x86-64-shld-gas.s: ^
KeccakF-1600-x86-64-shld-gas.s: KeccakF-1600-x86-64-shld-gas.s:58:12: error: unknown token in expression
KeccakF-1600-x86-64-shld-gas.s: .equ rT1, %rax
KeccakF-1600-x86-64-shld-gas.s: ^
KeccakF-1600-x86-64-shld-gas.s: KeccakF-1600-x86-64-shld-gas.s:59:16: error: unknown token in expression
KeccakF-1600-x86-64-shld-gas.s: .equ rpState, %rdi
KeccakF-1600-x86-64-shld-gas.s: ^
KeccakF-1600-x86-64-shld-gas.s: KeccakF-1600-x86-64-shld-gas.s:60:16: error: unknown token in expression
KeccakF-1600-x86-64-shld-gas.s: .equ rpStack, %rsp
KeccakF-1600-x86-64-shld-gas.s: ^
KeccakF-1600-x86-64-shld-gas.s: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O1 -march=native -m64 -fomit-frame-pointer x86_64_shld
clang -O3 -march=native -m64 -fomit-frame-pointer x86_64_shld

Compiler output

Implementation: crypto_hash/keccakc512/inplace-armv7a-neon
Compiler: clang -O1 -march=native -m64 -fomit-frame-pointer
keccak.s: clang: warning: argument unused during compilation: '-fomit-frame-pointer'
keccak.s: clang: warning: argument unused during compilation: '-D SUPERCOP'
keccak.s: clang: warning: argument unused during compilation: '-I .'
keccak.s: clang: warning: argument unused during compilation: '-I /home/bloom/supercop-20140505/supercop-data/floodyberry/amd64/include'
keccak.s: keccak.s:1:1: error: unexpected token at start of statement
keccak.s: @ The Keccak sponge function, designed by Guido Bertoni, Joan Daemen,
keccak.s: ^
keccak.s: keccak.s:2:1: error: unexpected token at start of statement
keccak.s: @ Michaël Peeters and Gilles Van Assche. For more information, feedback or
keccak.s: keccak.s:2:8: error: invalid character in input
keccak.s: @ Michaël Peeters and Gilles Van Assche. For more information, feedback or
keccak.s: keccak.s:2:9: error: invalid character in input
keccak.s: @ Michaël Peeters and Gilles Van Assche. For more information, feedback or
keccak.s: keccak.s:3:1: error: unexpected token at start of statement
keccak.s: @ questions, please refer to our website: http://keccak.noekeon.org/
keccak.s: ^
keccak.s: keccak.s:4:1: error: unexpected token at start of statement
keccak.s: @
keccak.s: ^
keccak.s: keccak.s:5:1: error: unexpected token at start of statement
keccak.s: @ Implementation by Ronny Van Keer, hereby denoted as "the implementer".
keccak.s: ^
keccak.s: keccak.s:6:1: error: unexpected token at start of statement
keccak.s: @
keccak.s: ^
keccak.s: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O1 -march=native -m64 -fomit-frame-pointer inplace-armv7a-neon
clang -O3 -march=native -m64 -fomit-frame-pointer inplace-armv7a-neon

Compiler output

Implementation: crypto_hash/keccakc512/xopu24
Compiler: gcc -m64 -O2 -fomit-frame-pointer
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c: In function 'KeccakPermutationOnWords':
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: incompatible type for argument 2 of '_mm_xor_si128'
KeccakF-1600-opt64.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:1249:1: note: expected '__m128i' but argument is of type 'int'
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: incompatible type for argument 2 of '_mm_xor_si128'
KeccakF-1600-opt64.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:1249:1: note: expected '__m128i' but argument is of type 'int'
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: can't convert between vector values of different size
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: incompatible type for argument 2 of '_mm_xor_si128'
KeccakF-1600-opt64.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:1249:1: note: expected '__m128i' but argument is of type 'int'
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: can't convert between vector values of different size
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: can't convert between vector values of different size
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: incompatible types when assigning to type 'V128' from type 'int'
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: can't convert between vector values of different size
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: incompatible types when assigning to type 'V128' from type 'int'
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: can't convert between vector values of different size
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: incompatible types when assigning to type 'V128' from type 'int'
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: can't convert between vector values of different size
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: incompatible types when assigning to type 'V128' from type 'int'
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: incompatible types when assigning to type 'V128' from type 'int'
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: can't convert between vector values of different size
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: incompatible types when assigning to type 'V128' from type 'int'
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: can't convert between vector values of different size
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: incompatible types when assigning to type 'V128' from type 'int'
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: can't convert between vector values of different size
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: incompatible types when assigning to type 'V128' from type 'int'
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: incompatible types when assigning to type 'V128' from type 'int'
KeccakF-1600-opt64.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -O2 -fomit-frame-pointer xopu24
gcc -m64 -O3 -fomit-frame-pointer xopu24
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer xopu24
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer xopu24

Compiler output

Implementation: crypto_hash/keccakc512/sseu2
Compiler: gcc -m64 -O2 -fomit-frame-pointer
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c: In function 'KeccakPermutationOnWords':
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: incompatible types when assigning to type 'V128' from type 'int'
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:185:5: error: incompatible types when assigning to type 'V128' from type 'int'
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c: In function 'KeccakPermutationOnWordsAfterXoring':
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:202:5: error: incompatible types when assigning to type 'V128' from type 'int'
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:202:5: error: incompatible types when assigning to type 'V128' from type 'int'
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c: In function 'KeccakPermutationOnWordsAfterXoring1088bits':
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:265:5: error: incompatible types when assigning to type 'V128' from type 'int'
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:265:5: error: incompatible types when assigning to type 'V128' from type 'int'

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -m64 -O2 -fomit-frame-pointer sseu2
gcc -m64 -O3 -fomit-frame-pointer sseu2

Compiler output

Implementation: crypto_hash/keccakc512/inplace-armv7a-neon
Compiler: gcc -m64 -O2 -fomit-frame-pointer
keccak.s: keccak.s: Assembler messages:
keccak.s: keccak.s:1: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:2: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:3: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:4: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:5: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:6: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:7: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:8: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:9: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:11: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:12: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:15: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:18: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:23: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:31: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:37: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:40: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:42: Error: invalid character '{' before operand 1
keccak.s: keccak.s:43: Error: too many memory references for `mov'
keccak.s: keccak.s:44: Error: no such instruction: `vpush {q4-q7}'
keccak.s: keccak.s:46: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:47: Error: no such instruction: `pld [sp,'
keccak.s: keccak.s:48: Error: no such instruction: `vmov.i64 q6,'
keccak.s: keccak.s:49: Error: no such instruction: `vpush {d12}'
keccak.s: ...

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -m64 -O2 -fomit-frame-pointer inplace-armv7a-neon
gcc -m64 -O3 -fomit-frame-pointer inplace-armv7a-neon
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer inplace-armv7a-neon
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer inplace-armv7a-neon
icc -m64 -O1 -static -xHost -fomit-frame-pointer inplace-armv7a-neon
icc -m64 -O3 -static -xHost -fomit-frame-pointer inplace-armv7a-neon

Compiler output

Implementation: crypto_hash/keccakc512/xopu24
Compiler: icc -m64 -O1 -static -xHost -fomit-frame-pointer
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c(185): error: argument of type "int" is incompatible with parameter of type "__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 "__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 "__m128i"
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: 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 -m64 -O1 -static -xHost -fomit-frame-pointer xopu24
icc -m64 -O3 -static -xHost -fomit-frame-pointer xopu24