Implementation notes: armeabi, tinkerboard, crypto_hash/blake512

Computer: tinkerboard
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20191221
Operation: crypto_hash
Primitive: blake512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2728412821 0 032793 428 824vect128-neonclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010220191221
6438034665 0 054493 420 824regsclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010220191221
7138834377 0 054205 420 824bswapclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010220191221
8051431945 0 039711 452 808bswapgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010220191221
8091232865 0 040679 452 808bswapgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010220191221
8130632865 0 041976 456 808bswapgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010220191221
8168211028 0 030721 420 824sphlib-smallclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010220191221
8179618788 0 038473 420 824sphlibclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010220191221
8300233209 0 040975 452 808regsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010220191221
8303233233 0 042344 456 808regsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010220191221
830936841 0 026669 420 824refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010220191221
8370616778 0 024584 456 808sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010220191221
8371010098 0 017912 456 808sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010220191221
8639233233 0 041047 452 808regsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010220191221
8907927881 0 034799 444 808regsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010220191221
905016009 0 015124 456 808refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010220191221
909984849 0 012615 452 808refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010220191221
933065865 0 013679 452 808refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010220191221
1012307338 0 014316 448 808sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010220191221
10134014146 0 021116 448 808sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010220191221
10159227601 0 034519 444 808bswapgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010220191221
1032294225 0 011147 444 808refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010220191221
10703016828 0 024680 456 808sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010220191221
1075509808 0 017672 456 808sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010220191221
11128015784 0 024904 456 808sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010220191221
11215222804 0 031912 456 808sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010220191221

Test failure

Implementation: vect128
Security model: unknown
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 111
crypto_hash overwrites input

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

Compiler output

Implementation: vect128
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
vector.c: In file included from vector.c:7:
vector.c: vector.h:968:2: error: #error "I don't know how to vectorize on this architecture."
vector.c: #error "I don't know how to vectorize on this architecture."
vector.c: ^~~~~
vector.c: vector.h:982:3: error: unknown type name 'v16'
vector.c: v16 v16;
vector.c: ^~~
vector.c: vector.h:987:3: error: unknown type name 'v8'
vector.c: v8 v8;
vector.c: ^~
vector.c: vector.h:992:3: error: unknown type name 'v32'
vector.c: v32 v;
vector.c: ^~~
vector.c: vector.h:997:3: error: unknown type name 'v64'
vector.c: v64 v;
vector.c: ^~~
vector.c: vector.c:62:30: warning: implicit declaration of function 'CV' [-Wimplicit-function-declaration]
vector.c: static const union cv v128 = CV(128);
vector.c: ^~
vector.c: vector.c:62:30: error: invalid initializer
vector.c: vector.c:63:30: error: invalid initializer
vector.c: static const union cv v255 = CV(255);
vector.c: ^~
vector.c: vector.c:64:30: error: invalid initializer
vector.c: static const union cv v257 = CV(257);
vector.c: ...

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE vect128
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE vect128
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE vect128
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE vect128
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE vect128-inplace
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE vect128-inplace
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE vect128-inplace
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE vect128-inplace

Compiler output

Implementation: vect128-inplace
Security model: unknown
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
vector.c: vector.c:753:3: warning: implicit declaration of function 'v64_interleavel' is invalid in C99 [-Wimplicit-function-declaration]
vector.c: ROUND( 0); ROUND( 1); ROUND( 2); ROUND( 3);
vector.c: ^
vector.c: vector.c:670:5: note: expanded from macro 'ROUND'
vector.c: PERM(i); \
vector.c: ^
vector.c: ./perm512.h:1:17: note: expanded from macro 'PERM'
vector.c: #define PERM(i) XCAT(PERM_512_,i)
vector.c: ^
vector.c: ./vector.h:6:19: note: expanded from macro 'XCAT'
vector.c: #define XCAT(x,y) CAT(x,y)
vector.c: ^
vector.c: ./vector.h:5:19: note: expanded from macro 'CAT'
vector.c: #define CAT(x, y) x##y
vector.c: ^
vector.c: <scratch space>:61:1: note: expanded from here
vector.c: PERM_512_0
vector.c: ^
vector.c: ./perm512.h:6:10: note: expanded from macro 'PERM_512_0'
vector.c: m0 = v64_interleavel(mm0, mm1); \
vector.c: ^
vector.c: vector.c:753:3: error: assigning to 'v64' (aka 'int64x2_t') from incompatible type 'int'
vector.c: ROUND( 0); ROUND( 1); ROUND( 2); ROUND( 3);
vector.c: ^~~~~~~~~
vector.c: vector.c:670:5: note: expanded from macro 'ROUND'
vector.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE vect128-inplace

Compiler output

Implementation: vect128-neon
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: crypto_hash_blake512.a(vector-llvm-512.o): relocation R_ARM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC
try.c: /usr/bin/ld: crypto_hash_blake512.a(vector-llvm-512.o)(.text+0x...): unresolvable R_ARM_CALL relocation against symbol `__aeabi_memset@@GLIBC_2.4'
try.c: /usr/bin/ld: final link failed: nonrepresentable section on output
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE vect128-neon
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE vect128-neon
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE vect128-neon
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE vect128-neon

Namespace violations

Implementation: sphlib
Security model: unknown
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake.o sph_blake224 T
blake.o sph_blake224_addbits_and_close T
blake.o sph_blake224_close T
blake.o sph_blake224_init T
blake.o sph_blake256 T
blake.o sph_blake256_addbits_and_close T
blake.o sph_blake256_close T
blake.o sph_blake256_init T
blake.o sph_blake384 T
blake.o sph_blake384_addbits_and_close T
blake.o sph_blake384_close T
blake.o sph_blake384_init T
blake.o sph_blake512 T
blake.o sph_blake512_addbits_and_close T
blake.o sph_blake512_close T
blake.o sph_blake512_init T

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE sphlib
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE sphlib
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE sphlib
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE sphlib
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE sphlib
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE sphlib-small
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE sphlib-small
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE sphlib-small
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE sphlib-small
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE sphlib-small

Namespace violations

Implementation: vect128-neon
Security model: unknown
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
vector-llvm-512.o Blake_Compress T
vector-llvm-512.o blake512_final T
vector-llvm-512.o blake512_init T
vector-llvm-512.o blake512_update T
vector-llvm-512.o cst R
vector-llvm-512.o print_m32 T
vector-llvm-512.o print_m64 T
vector-llvm-512.o round512 T
vector-llvm-512.o v16_broadcast_cst_128 T
vector-llvm-512.o v16_broadcast_cst_255 T
vector-llvm-512.o v16_broadcast_cst_257 T
vector-llvm-512.o v8_broadcast_cst_0 T

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