Implementation notes: aarch64, hikey970, crypto_hash/simd256

Computer: hikey970
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20191221
Operation: crypto_hash
Primitive: simd256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
5955146140 0 057978 920 776sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
8260352043 388 064117 1340 776optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
8260331444 0 043298 920 776sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
8836642028 0 052258 920 744sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
9028740676 0 050238 904 744sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
10373423900 0 034170 920 744sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
13062813427 388 023877 1332 744optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
14791714795 388 025277 1332 744optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
15752222668 0 032906 920 744sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
18633741944 0 052210 920 744sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
19786322656 0 032230 904 744sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
31888612467 388 022257 1316 744optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
21899404115 388 014565 1332 744refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
29698663763 388 013553 1316 744refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
327914710247 388 022317 1340 776refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017
47391074167 388 014653 1332 744refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121320191017

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:5:0:
vector.c: vector.h:252: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:344:25: error: array type has incomplete element type 'union cv'
vector.c: static const union cv FFT64_Twiddle[] = {
vector.c: ^~~~~~~~~~~~~
vector.c: vector.h:355:25: error: array type has incomplete element type 'union cv'
vector.c: static const union cv FFT128_Twiddle[] = {
vector.c: ^~~~~~~~~~~~~~
vector.c: vector.h:367:25: error: array type has incomplete element type 'union cv'
vector.c: static const union cv FFT256_Twiddle[] = {
vector.c: ^~~~~~~~~~~~~~
vector.c: vector.c:24:20: error: variable 'V128' has initializer but incomplete type
vector.c: static const union cv V128 = CV(128);
vector.c: ^~
vector.c: vector.c:24: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:25:20: error: variable 'V255' has initializer but incomplete type
vector.c: static const union cv V255 = CV(255);
vector.c: ^~
vector.c: vector.c:26:20: error: variable 'V257' has initializer but incomplete type
vector.c: static const union cv V257 = CV(257);
vector.c: ^~
vector.c: ...

Number of similar (compiler,implementation) pairs: 4, 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

Namespace violations

Implementation: opt
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
nist.o Final T
nist.o Hash T
nist.o IV_224 D
nist.o IV_256 D
nist.o IV_384 D
nist.o IV_512 D
nist.o IncreaseCounter T
nist.o Init T
nist.o InitIV T
nist.o Update T
optimized.o FFT_128_full T
optimized.o FFT_128_halfzero T
optimized.o FFT_256_halfzero T
optimized.o FFT_64 T
optimized.o RequiredAlignment T
optimized.o Round4 T
optimized.o Round8 T
optimized.o SIMD_Compress T
optimized.o SupportedLength T
optimized.o VERSION T
optimized.o fft128_natural T
optimized.o fft256_natural T
optimized.o p8_xor R
optimized.o revbin T

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

Namespace violations

Implementation: ref
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
nist.o Final T
nist.o Hash T
nist.o IV_224 D
nist.o IV_256 D
nist.o IV_384 D
nist.o IV_512 D
nist.o IncreaseCounter T
nist.o Init T
nist.o InitIV T
nist.o Update T
reference.o IF T
reference.o MAJ T
reference.o P R
reference.o RequiredAlignment T
reference.o Round T
reference.o SIMD_Compress T
reference.o Step T
reference.o SupportedLength T
reference.o VERSION T
reference.o message_expansion T
reference.o p4 R
reference.o p8 R

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

Namespace violations

Implementation: sphlib
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
simd.o sph_simd224 T
simd.o sph_simd224_addbits_and_close T
simd.o sph_simd224_close T
simd.o sph_simd224_init T
simd.o sph_simd256 T
simd.o sph_simd256_addbits_and_close T
simd.o sph_simd256_close T
simd.o sph_simd256_init T
simd.o sph_simd384 T
simd.o sph_simd384_addbits_and_close T
simd.o sph_simd384_close T
simd.o sph_simd384_init T
simd.o sph_simd512 T
simd.o sph_simd512_addbits_and_close T
simd.o sph_simd512_close T
simd.o sph_simd512_init T

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
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
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