Implementation notes: aarch64, a53, crypto_hash/groestl512

Computer: a53
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20160731
Operation: crypto_hash
Primitive: groestl512
TimeImplementationCompilerBenchmark dateSUPERCOP version
185895sphlib-smallgcc -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv2016080120160731
187110sphlib-adaptedgcc -mcpu=cortex-a53 -O2 -fomit-frame-pointer -fwrapv2016080120160731
187110sphlib-adaptedgcc -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv2016080120160731
201690sphlibclang -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080120160731
202905sphlib-smallgcc -mcpu=cortex-a53 -O2 -fomit-frame-pointer -fwrapv2016080120160731
221130sphlibgcc -mcpu=cortex-a53 -O -fomit-frame-pointer -fwrapv2016080120160731
227000sphlibgcc -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv2016080120160731
250290opt64gcc -mcpu=cortex-a53 -O2 -fomit-frame-pointer -fwrapv2016080120160731
262440opt64gcc -mcpu=cortex-a53 -Os -fomit-frame-pointer -fwrapv2016080120160731
275805sphlib-adaptedgcc -mcpu=cortex-a53 -Os -fomit-frame-pointer -fwrapv2016080120160731
277020opt32gcc -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv2016080120160731
284310opt32gcc -mcpu=cortex-a53 -O2 -fomit-frame-pointer -fwrapv2016080120160731
289170opt32clang -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080120160731
295245opt64gcc -mcpu=cortex-a53 -O -fomit-frame-pointer -fwrapv2016080120160731
296000sphlibgcc -mcpu=cortex-a53 -O2 -fomit-frame-pointer -fwrapv2016080120160731
302535opt64gcc -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv2016080120160731
307395sphlib-adaptedgcc -mcpu=cortex-a53 -O -fomit-frame-pointer -fwrapv2016080120160731
325620sphlib-adaptedclang -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080120160731
349920sphlib-smallclang -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080120160731
349920sphlib-smallgcc -mcpu=cortex-a53 -Os -fomit-frame-pointer -fwrapv2016080120160731
384800sphlibgcc -mcpu=cortex-a53 -Os -fomit-frame-pointer -fwrapv2016080120160731
447120sphlib-smallgcc -mcpu=cortex-a53 -O -fomit-frame-pointer -fwrapv2016080120160731
611145opt32gcc -mcpu=cortex-a53 -Os -fomit-frame-pointer -fwrapv2016080120160731
656100opt32gcc -mcpu=cortex-a53 -O -fomit-frame-pointer -fwrapv2016080120160731
70470032bit-bytesliced-c-smallgcc -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv2016080120160731
163440032bit-bytesliced-c-smallclang -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080120160731
202240032bit-bytesliced-c-smallgcc -mcpu=cortex-a53 -O2 -fomit-frame-pointer -fwrapv2016080120160731
207920032bit-bytesliced-c-smallgcc -mcpu=cortex-a53 -Os -fomit-frame-pointer -fwrapv2016080120160731
231943532bit-bytesliced-c-smallgcc -mcpu=cortex-a53 -O -fomit-frame-pointer -fwrapv2016080120160731

Compiler output

Implementation: crypto_hash/groestl512/opt64
Compiler: clang -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
hash.c: hash.c:191:3: warning: non-constant static local variable in inline function may be different in different files [-Wstatic-local-in-inline]
hash.c: static u64 y[COLS1024] __attribute__((aligned(16)));
hash.c: ^
hash.c: hash.c:190:1: note: use 'static' to give inline function 'F1024' internal linkage
hash.c: inline void F1024(u64 *h, const u64 *m) {
hash.c: ^
hash.c: static
hash.c: hash.c:192:3: warning: non-constant static local variable in inline function may be different in different files [-Wstatic-local-in-inline]
hash.c: static u64 z[COLS1024] __attribute__((aligned(16)));
hash.c: ^
hash.c: hash.c:190:1: note: use 'static' to give inline function 'F1024' internal linkage
hash.c: inline void F1024(u64 *h, const u64 *m) {
hash.c: ^
hash.c: static
hash.c: hash.c:193:3: warning: non-constant static local variable in inline function may be different in different files [-Wstatic-local-in-inline]
hash.c: static u64 outQ[COLS1024] __attribute__((aligned(16)));
hash.c: ^
hash.c: hash.c:190:1: note: use 'static' to give inline function 'F1024' internal linkage
hash.c: inline void F1024(u64 *h, const u64 *m) {
hash.c: ^
hash.c: static
hash.c: hash.c:194:3: warning: non-constant static local variable in inline function may be different in different files [-Wstatic-local-in-inline]
hash.c: static u64 inP[COLS1024] __attribute__((aligned(16)));
hash.c: ^
hash.c: hash.c:190:1: note: use 'static' to give inline function 'F1024' internal linkage
hash.c: ...
try.c: crypto_hash_groestl512.a(hash.o): In function `Transform':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: crypto_hash_groestl512.a(hash.o): In function `Update':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: crypto_hash_groestl512.a(hash.o): In function `Final':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: hash.c:(.text+0x...): undefined reference to `F1024'
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

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

Compiler output

Implementation: crypto_hash/groestl512/mmx
Compiler: clang -mcpu=cortex-a53 -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
hash.c: hash.c:897:2: error: "MMX instructions must be enabled"
hash.c: #error "MMX instructions must be enabled"
hash.c: ^
hash.c: 1 error generated.

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

Compiler output

Implementation: crypto_hash/groestl512/mmx
Compiler: gcc -mcpu=cortex-a53 -O2 -fomit-frame-pointer -fwrapv
hash.c: hash.c:897:2: error: #error "MMX instructions must be enabled"
hash.c: #error "MMX instructions must be enabled"
hash.c: ^

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