Implementation notes: aarch64, rockpi4, crypto_hash/simd256

Computer: rockpi4
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20190816
Operation: crypto_hash
Primitive: simd256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
5740746336 0 060031 896 760sphlibgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
5823351636 0 065359 896 760sphlibgcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
7062345828 0 056991 896 744sphlibgcc_-O2_-fomit-frame-pointer2019091120190816
7227540780 0 051895 896 744sphlibgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
7268846572 0 057847 896 744sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091120190816
7599245704 0 060159 896 744sphlibgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
7847043140 0 054367 896 744sphlibgcc_-O_-fomit-frame-pointer2019091120190816
7970929316 0 043071 896 760sphlib-smallgcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
8012228732 0 041119 896 760sphlib-smallgcc_-O3_-fomit-frame-pointer2019091120190816
8136129156 0 041639 896 760sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091120190816
8549125588 0 038863 896 744sphlib-smallgcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
8590426868 0 040252 800 768sphlib-smallclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
8673048923 388 062826 1316 760optgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
8714349796 0 063108 800 768sphlibclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
8962125492 0 038847 896 744sphlib-smallgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
9086023892 0 035031 896 744sphlib-smallgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
9209927540 0 040924 800 768sphlib-smallclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
9251227540 0 040924 800 768sphlib-smallclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091120190816
9375151284 0 063631 896 760sphlibgcc_-O3_-fomit-frame-pointer2019091120190816
9581652300 0 064751 896 760sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091120190816
9829427672 0 042159 896 744sphlib-smallgcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
9829427672 0 042159 896 744sphlib-smallgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
9994625160 0 036423 896 744sphlib-smallgcc_-O_-fomit-frame-pointer2019091120190816
9994625160 0 036423 896 744sphlib-smallgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
10655441488 0 051967 880 736sphlibgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
10696741488 0 051903 880 736sphlibgcc_-Os_-fomit-frame-pointer2019091120190816
10696741488 0 051903 880 736sphlibgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
10696741488 0 051967 880 736sphlibgcc_-funroll-loops_-Os_-fomit-frame-pointer2019091120190816
10779345776 0 058111 896 760sphlibgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
10779342108 0 052519 880 736sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091120190816
11977027631 388 040627 1212 768optclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
12059627451 388 040499 1212 768optclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
12100927739 388 040787 1212 768optclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
12183548156 0 061383 896 744sphlibgcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
12390029855 388 044490 1308 744optgcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
12637814859 388 026138 1308 744optgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
12637842788 0 056111 896 744sphlibgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
12844328952 0 042679 896 760sphlib-smallgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
12844323924 0 034367 880 736sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091120190816
14124643644 0 057012 800 768sphlibclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
14413748603 388 062530 1316 760optgcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
14455015719 388 027130 1308 744optgcc_-O_-fomit-frame-pointer2019091120190816
14826747155 388 059714 1316 760optgcc_-O3_-fomit-frame-pointer2019091120190816
15611446007 388 058666 1316 760optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091120190816
16148349796 0 063172 800 768sphlibclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091120190816
16148349796 0 063172 800 768sphlibclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
16148349796 0 063172 800 768sphlibclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
16189628400 0 040759 896 760sphlib-smallgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
16189624652 0 035959 896 744sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091120190816
16230924268 0 035463 896 744sphlib-smallgcc_-O2_-fomit-frame-pointer2019091120190816
16313524203 388 037618 1308 744optgcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
17180824339 388 037826 1308 744optgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
18130727540 0 040924 800 768sphlib-smallclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
18172027600 0 040924 800 768sphlib-smallclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
18378523596 0 034103 880 736sphlib-smallgcc_-funroll-loops_-Os_-fomit-frame-pointer2019091120190816
18419847491 388 060034 1316 760optgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
18419823596 0 034103 880 736sphlib-smallgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
18998045704 0 060159 896 744sphlibgcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
20030543140 0 054367 896 744sphlibgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
20195743816 0 055039 896 744sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091120190816
20773923596 0 034039 880 736sphlib-smallgcc_-Os_-fomit-frame-pointer2019091120190816
20773923596 0 034039 880 736sphlib-smallgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
23293214923 388 026258 1308 744optgcc_-O2_-fomit-frame-pointer2019091120190816
23830115123 388 026562 1308 744optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091120190816
26019027739 388 040787 1212 768optclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
26060327739 388 040787 1212 768optclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091120190816
26514625536 0 036799 896 744sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091120190816
31346729855 388 044490 1308 744optgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
32916113215 388 023842 1292 736optgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
32957413215 388 023842 1292 736optgcc_-funroll-loops_-Os_-fomit-frame-pointer2019091120190816
34444213183 388 023738 1292 736optgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
34485513183 388 023738 1292 736optgcc_-Os_-fomit-frame-pointer2019091120190816
34650713231 388 023802 1292 736optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091120190816
35559315719 388 027130 1308 744optgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
35931015903 388 027314 1308 744optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091120190816
40432795112 0 0112663 880 744sphlibcc2019091120190816
74753095112 0 0112663 880 744sphlibgcc_-funroll-loops2019091120190816
74876995112 0 0112663 880 744sphlibgcc2019091120190816
108040862120 0 079695 880 744sphlib-smallgcc_-funroll-loops2019091120190816
108536462120 0 079695 880 744sphlib-smallcc2019091120190816
110518837893 388 051466 1292 744optgcc2019091120190816
110684037893 388 051466 1292 744optgcc_-funroll-loops2019091120190816
119687462120 0 079695 880 744sphlib-smallgcc2019091120190816
254160237893 388 051466 1292 744optcc2019091120190816
264856912467 388 026386 1316 760refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
267417519019 388 032619 1212 768refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
268491319019 388 032619 1212 768refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091120190816
27167145079 388 016498 1308 744refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091120190816
27175405007 388 016322 1308 744refgcc_-O2_-fomit-frame-pointer2019091120190816
286498111147 388 023674 1316 760refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
29000867995 388 021458 1308 744refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
31569727979 388 021354 1308 744refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
323007311379 388 024018 1316 760refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091120190816
327261211043 388 023578 1316 760refgcc_-O3_-fomit-frame-pointer2019091120190816
346135319015 388 032619 1212 768refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
371328312643 388 026530 1316 760refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
37851454387 388 014970 1292 736refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019091120190816
38788964387 388 014970 1292 736refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
407218017587 388 031131 1212 768refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
407589719019 388 032619 1212 768refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
40833314339 388 014874 1292 736refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091120190816
40899394371 388 014906 1292 736refgcc_-Os_-fomit-frame-pointer2019091120190816
40965474371 388 014906 1292 736refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
53161365055 388 016298 1308 744refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
54470574847 388 016226 1308 744refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091120190816
54656424851 388 016226 1308 744refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
54710114851 388 016226 1308 744refgcc_-O_-fomit-frame-pointer2019091120190816
56638828055 388 022666 1308 744refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
56655348055 388 022666 1308 744refgcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
66257598041 388 021562 1292 744refgcc2019091120190816
157179548041 388 021562 1292 744refgcc_-funroll-loops2019091120190816
157282798041 388 021562 1292 744refcc2019091120190816

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
reference.c: reference.c:69:82: warning: expression result unused [-Wunused-value]
reference.c: state->A[j] = state->D[j] + w[j] + F(state->A[j], state->B[j], state->C[j]), s;
reference.c: ^
reference.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref

Compiler output

Implementation: vect128
Security model: unknown
Compiler: cc
vector.c: In file included from vector.c:5:
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: 23, namely:
CompilerImplementations
cc vect128
gcc vect128
gcc -O2 -fomit-frame-pointer vect128
gcc -O3 -fomit-frame-pointer vect128
gcc -O -fomit-frame-pointer vect128
gcc -Os -fomit-frame-pointer vect128
gcc -fno-schedule-insns -O2 -fomit-frame-pointer vect128
gcc -fno-schedule-insns -O3 -fomit-frame-pointer vect128
gcc -fno-schedule-insns -O -fomit-frame-pointer vect128
gcc -fno-schedule-insns -Os -fomit-frame-pointer vect128
gcc -funroll-loops vect128
gcc -funroll-loops -O2 -fomit-frame-pointer vect128
gcc -funroll-loops -O3 -fomit-frame-pointer vect128
gcc -funroll-loops -O -fomit-frame-pointer vect128
gcc -funroll-loops -Os -fomit-frame-pointer vect128
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer vect128
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer vect128
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer vect128
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer vect128
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv vect128
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv vect128
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv vect128
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv vect128

Compiler output

Implementation: vect128
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
vector.c: In file included from vector.c:5:
vector.c: ./vector.h:252:2: 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:38: error: array has incomplete element type 'const union cv'
vector.c: static const union cv FFT64_Twiddle[] = {
vector.c: ^
vector.c: ./vector.h:344:22: note: forward declaration of 'union cv'
vector.c: static const union cv FFT64_Twiddle[] = {
vector.c: ^
vector.c: ./vector.h:355:39: error: array has incomplete element type 'const union cv'
vector.c: static const union cv FFT128_Twiddle[] = {
vector.c: ^
vector.c: ./vector.h:344:22: note: forward declaration of 'union cv'
vector.c: static const union cv FFT64_Twiddle[] = {
vector.c: ^
vector.c: ./vector.h:367:39: error: array has incomplete element type 'const union cv'
vector.c: static const union cv FFT256_Twiddle[] = {
vector.c: ^
vector.c: ./vector.h:344:22: note: forward declaration of 'union cv'
vector.c: static const union cv FFT64_Twiddle[] = {
vector.c: ^
vector.c: vector.c:24:30: warning: implicit declaration of function 'CV' is invalid in C99 [-Wimplicit-function-declaration]
vector.c: static const union cv V128 = CV(128);
vector.c: ^
vector.c: ...

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments vect128
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments vect128
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments vect128
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments vect128
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments vect128