Implementation notes: aarch64, a53, crypto_hash/echo512

Computer: a53
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20160731
Operation: crypto_hash
Primitive: echo512
TimeImplementationCompilerBenchmark dateSUPERCOP version
171315sphlib-smallgcc -mcpu=cortex-a53 -O2 -fomit-frame-pointer -fwrapv2016080120160731
182250sphlib-smallgcc -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv2016080120160731
201690generic/opt32clang -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080120160731
233280sphlib-smallgcc -mcpu=cortex-a53 -O -fomit-frame-pointer -fwrapv2016080120160731
243000powerpc/pp32cv2clang -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080120160731
245430sphlib-smallgcc -mcpu=cortex-a53 -Os -fomit-frame-pointer -fwrapv2016080120160731
268515sphlibgcc -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv2016080120160731
275805sphlibclang -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080120160731
279450sphlib-smallclang -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080120160731
285525sphlibgcc -mcpu=cortex-a53 -O2 -fomit-frame-pointer -fwrapv2016080120160731
289170powerpc/pp32cv2gcc -mcpu=cortex-a53 -Os -fomit-frame-pointer -fwrapv2016080120160731
313470powerpc/pp32cv1gcc -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv2016080120160731
315900generic/opt64gcc -mcpu=cortex-a53 -Os -fomit-frame-pointer -fwrapv2016080120160731
325620sphlibgcc -mcpu=cortex-a53 -Os -fomit-frame-pointer -fwrapv2016080120160731
347490generic/opt64gcc -mcpu=cortex-a53 -O2 -fomit-frame-pointer -fwrapv2016080120160731
352350powerpc/pp32cv1gcc -mcpu=cortex-a53 -O2 -fomit-frame-pointer -fwrapv2016080120160731
363285generic/opt64gcc -mcpu=cortex-a53 -O -fomit-frame-pointer -fwrapv2016080120160731
368145generic/opt64gcc -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv2016080120160731
368145generic/opt32gcc -mcpu=cortex-a53 -Os -fomit-frame-pointer -fwrapv2016080120160731
383940powerpc/pp32cv1gcc -mcpu=cortex-a53 -Os -fomit-frame-pointer -fwrapv2016080120160731
397305generic/opt32gcc -mcpu=cortex-a53 -O -fomit-frame-pointer -fwrapv2016080120160731
409455powerpc/pp32cv2gcc -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv2016080120160731
415530sphlibgcc -mcpu=cortex-a53 -O -fomit-frame-pointer -fwrapv2016080120160731
419175generic/opt32gcc -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv2016080120160731
427680generic/opt32gcc -mcpu=cortex-a53 -O2 -fomit-frame-pointer -fwrapv2016080120160731
438615powerpc/pp32cv1clang -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080120160731
448335powerpc/pp32cv2gcc -mcpu=cortex-a53 -O2 -fomit-frame-pointer -fwrapv2016080120160731
464130generic/opt64clang -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080120160731
467775powerpc/pp32cv2gcc -mcpu=cortex-a53 -O -fomit-frame-pointer -fwrapv2016080120160731
586845powerpc/pp32cv1gcc -mcpu=cortex-a53 -O -fomit-frame-pointer -fwrapv2016080120160731

Compiler output

Implementation: crypto_hash/echo512/generic/opt64
Compiler: clang -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
echo64.c: echo64.c:501:29: warning: passing 'const unsigned char *' to parameter of type 'BitSequence *' (aka 'unsigned char *') discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
echo64.c: if (Hash(CRYPTO_BYTES * 8,in,inlen * 8,out) == SUCCESS) return 0;
echo64.c: ^~
echo64.c: echo64.c:488:46: note: passing argument to parameter 'data' here
echo64.c: HashReturn Hash(int hashbitlen, BitSequence *data, DataLength databitlen, BitSequence *hashval)
echo64.c: ^
echo64.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments generic/opt64

Compiler output

Implementation: crypto_hash/echo512/ccalik/bitsliced
Compiler: clang -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
hash.c: In file included from hash.c:18:
hash.c: /usr/include/clang/3.5.2/include/tmmintrin.h:28:2: error: "SSSE3 instruction set not enabled"
hash.c: #error "SSSE3 instruction set not enabled"
hash.c: ^
hash.c: In file included from hash.c:19:
hash.c: In file included from ./hash_api.h:22:
hash.c: /usr/include/clang/3.5.2/include/emmintrin.h:28:2: error: "SSE2 instruction set not enabled"
hash.c: #error "SSE2 instruction set not enabled"
hash.c: ^
hash.c: In file included from hash.c:19:
hash.c: ./hash_api.h:28:2: error: unknown type name '__m128i'
hash.c: __m128i state[4][4];
hash.c: ^
hash.c: ./hash_api.h:29:2: error: unknown type name '__m128i'
hash.c: __m128i k;
hash.c: ^
hash.c: ./hash_api.h:30:2: error: unknown type name '__m128i'
hash.c: __m128i hashsize;
hash.c: ^
hash.c: ./hash_api.h:31:2: error: unknown type name '__m128i'
hash.c: __m128i const1536;
hash.c: ^
hash.c: hash.c:424:2: error: use of undeclared identifier '__m128i'
hash.c: __m128i k1, t0, t1, t2, t3, s0, s1, s2, s3, konst[16], row[4][8], mixed[4][8];
hash.c: ^
hash.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ccalik/bitsliced

Compiler output

Implementation: crypto_hash/echo512/generic/opt64
Compiler: gcc -mcpu=cortex-a53 -O2 -fomit-frame-pointer -fwrapv
echo64.c: echo64.c: In function 'crypto_hash_echo512_generic_opt64':
echo64.c: echo64.c:501:29: warning: passing argument 2 of 'Hash' discards 'const' qualifier from pointer target type
echo64.c: if (Hash(CRYPTO_BYTES * 8,in,inlen * 8,out) == SUCCESS) return 0;
echo64.c: ^
echo64.c: echo64.c:488:12: note: expected 'BitSequence *' but argument is of type 'const unsigned char *'
echo64.c: HashReturn Hash(int hashbitlen, BitSequence *data, DataLength databitlen, BitSequence *hashval)
echo64.c: ^

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -mcpu=cortex-a53 -O2 -fomit-frame-pointer -fwrapv generic/opt64
gcc -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv generic/opt64
gcc -mcpu=cortex-a53 -O -fomit-frame-pointer -fwrapv generic/opt64
gcc -mcpu=cortex-a53 -Os -fomit-frame-pointer -fwrapv generic/opt64

Compiler output

Implementation: crypto_hash/echo512/ccalik/bitsliced
Compiler: gcc -mcpu=cortex-a53 -O2 -fomit-frame-pointer -fwrapv
hash.c: hash.c:18:23: fatal error: tmmintrin.h: No such file or directory
hash.c: #include gt;
hash.c: ^
hash.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -mcpu=cortex-a53 -O2 -fomit-frame-pointer -fwrapv ccalik/bitsliced
gcc -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv ccalik/bitsliced
gcc -mcpu=cortex-a53 -O -fomit-frame-pointer -fwrapv ccalik/bitsliced
gcc -mcpu=cortex-a53 -Os -fomit-frame-pointer -fwrapv ccalik/bitsliced