Implementation notes: armeabi, pi2, crypto_hash/groestl512

Computer: pi2
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20160731
Operation: crypto_hash
Primitive: groestl512
TimeImplementationCompilerBenchmark dateSUPERCOP version
217562neon-tableclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080520160731
218020neon-tablegcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016080520160731
219913neon-tablegcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016080520160731
225024neon-tablegcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016080520160731
225520neon-tablegcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016080520160731
306256arm32gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016080520160731
345548arm32gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016080520160731
351560arm32gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016080520160731
352404opt32gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016080520160731
354787opt32gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016080520160731
359784arm32gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016080520160731
527214sphlib-adaptedgcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016080520160731
621920sphlibclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080520160731
623934sphlib-adaptedgcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016080520160731
631359sphlib-adaptedclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080520160731
638605sphlibgcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016080520160731
654022opt64gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016080520160731
673894sphlibgcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016080520160731
686257sphlibgcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016080520160731
696514sphlib-adaptedgcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016080520160731
722437sphlib-adaptedgcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016080520160731
723826sphlibgcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016080520160731
727114opt32gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016080520160731
769820opt32gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016080520160731
826441opt64gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016080520160731
845898opt32clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080520160731
863748sphlib-smallgcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016080520160731
864451sphlib-smallgcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016080520160731
928961sphlib-smallclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080520160731
947117sphlib-smallgcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016080520160731
1037032opt64gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016080520160731
1040607opt64gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016080520160731
1171926sphlib-smallgcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016080520160731
130319132bit-bytesliced-c-smallgcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016080520160731
142226132bit-bytesliced-c-smallclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080520160731
204766532bit-bytesliced-c-smallgcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016080520160731
204788132bit-bytesliced-c-smallgcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016080520160731
240203932bit-bytesliced-c-smallgcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016080520160731

Compiler output

Implementation: crypto_hash/groestl512/arm32
Compiler: clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
groestl.c: groestl.c:294:5: error: invalid symbol redefinition
groestl.c: DEFINE_TABLES;
groestl.c: ^
groestl.c: ./groestl_tables_asm.h:45:14: note: expanded from macro 'DEFINE_TABLES'
groestl.c: "\n T0up: "\
groestl.c: ^
groestl.c: gt;:3:2: note: instantiated into assembly here
groestl.c: T0up:
groestl.c: ^
groestl.c: groestl.c:294:5: error: invalid symbol redefinition
groestl.c: DEFINE_TABLES;
groestl.c: ^
groestl.c: ./groestl_tables_asm.h:302:14: note: expanded from macro 'DEFINE_TABLES'
groestl.c: "\n T0dn: "\
groestl.c: ^
groestl.c: gt;:260:2: note: instantiated into assembly here
groestl.c: T0dn:
groestl.c: ^
groestl.c: groestl.c:294:5: error: invalid symbol redefinition
groestl.c: DEFINE_TABLES;
groestl.c: ^
groestl.c: ./groestl_tables_asm.h:559:14: note: expanded from macro 'DEFINE_TABLES'
groestl.c: "\n T1up: "\
groestl.c: ^
groestl.c: gt;:517:2: note: instantiated into assembly here
groestl.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments arm32

Compiler output

Implementation: crypto_hash/groestl512/opt64
Compiler: clang -mcpu=native -mfpu=neon -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: ...

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

Compiler output

Implementation: crypto_hash/groestl512/mmx
Compiler: clang -mcpu=native -mfpu=neon -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=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments mmx

Compiler output

Implementation: crypto_hash/groestl512/opt64
Compiler: gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv
hash.c: hash.c:194:14: warning: 'inP' is static but declared in inline function 'F1024' which is not static
hash.c: static u64 inP[COLS1024] __attribute__((aligned(16)));
hash.c: ^~~
hash.c: hash.c:193:14: warning: 'outQ' is static but declared in inline function 'F1024' which is not static
hash.c: static u64 outQ[COLS1024] __attribute__((aligned(16)));
hash.c: ^~~~
hash.c: hash.c:192:14: warning: 'z' is static but declared in inline function 'F1024' which is not static
hash.c: static u64 z[COLS1024] __attribute__((aligned(16)));
hash.c: ^
hash.c: hash.c:191:14: warning: 'y' is static but declared in inline function 'F1024' which is not static
hash.c: static u64 y[COLS1024] __attribute__((aligned(16)));
hash.c: ^

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv opt64
gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv opt64
gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv opt64
gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv opt64

Compiler output

Implementation: crypto_hash/groestl512/mmx
Compiler: gcc -mcpu=native -mfpu=neon -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=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv mmx
gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv mmx
gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv mmx
gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv mmx