Implementation notes: aarch64, hikey960, crypto_hash/blake256

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_hash
Primitive: blake256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
010260 0 020417 912 744bswapgcc_-O2_-fomit-frame-pointer2019112620190816
09952 0 019445 896 744bswapgcc_-Os_-fomit-frame-pointer2019112620190816
010672 0 022506 920 776bswapgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112620190816
04188 0 017353 912 744refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112620190816
010184 0 019677 896 744regsgcc_-Os_-fomit-frame-pointer2019112620190816
052908 0 065430 904 744sphlibgcc_-funroll-loops2019112620190816
08236 0 018506 920 744sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112620190816
888311808 0 025306 920 776regsgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112620190816
888324840 0 035960 816 760sphlibclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112620190816
888329716 0 043194 920 776sphlibgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
1110510492 0 020649 912 744regsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112620190816
1665011312 0 024810 920 776bswapgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112620190816
1665010584 0 023785 912 744bswapgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
1665011280 0 024746 920 776bswapgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
1665011168 0 023002 920 776regsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112620190816
177662900 0 013992 816 760refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112620190816
177663600 0 016985 912 744refgcc_-funroll-loops_-O_-fomit-frame-pointer2019112620190816
177662576 0 012101 896 744refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
177662752 0 012945 912 744refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112620190816
1776611784 0 025250 920 776regsgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
2081510964 0 022056 816 760bswapclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112620190816
2081511056 0 022144 816 760regsclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112620190816
2081511056 0 022144 816 760regsclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112620190816
2338610708 0 024097 912 744bswapgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
2338623924 0 037202 920 744sphlibgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
2497510964 0 022056 816 760bswapclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112620190816
2497510372 0 020561 912 744bswapgcc_-O_-fomit-frame-pointer2019112620190816
2497510708 0 024097 912 744bswapgcc_-funroll-loops_-O_-fomit-frame-pointer2019112620190816
2497510260 0 020417 912 744bswapgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112620190816
2497511052 0 022120 816 760regsclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112620190816
2497510448 0 020561 912 744regsgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
2497511288 0 024673 912 744regsgcc_-funroll-loops_-O_-fomit-frame-pointer2019112620190816
2497529780 0 041610 920 776sphlibgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
2497529604 0 043114 920 776sphlibgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112620190816
2497529684 0 041530 920 776sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112620190816
2497522412 0 031974 904 744sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112620190816
249757740 0 017978 920 744sphlib-smallgcc_-O2_-fomit-frame-pointer2019112620190816
2497824456 0 034714 920 744sphlibgcc_-O_-fomit-frame-pointer2019112620190816
266493316 0 013473 912 744refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112620190816
266522572 0 012061 896 744refgcc_-Os_-fomit-frame-pointer2019112620190816
288737740 0 017978 920 744sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112620190816
2913411128 0 022946 920 776regsgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
2913414148 0 027674 920 776sphlib-smallgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112620190816
2914111168 0 023010 920 776regsgcc_-O3_-fomit-frame-pointer2019112620190816
3330010964 0 022056 816 760bswapclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112620190816
3330010672 0 022514 920 776bswapgcc_-O3_-fomit-frame-pointer2019112620190816
3330010216 0 020329 912 744bswapgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
333009952 0 019445 896 744bswapgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
333009956 0 019477 896 744bswapgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112620190816
333004408 0 016258 920 776refgcc_-O3_-fomit-frame-pointer2019112620190816
333004448 0 016266 920 776refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
333005056 0 018554 920 776refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112620190816
333004168 0 017369 912 744refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
333004472 0 016306 920 776refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112620190816
3330011056 0 022144 816 760regsclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112620190816
3330010492 0 020649 912 744regsgcc_-O2_-fomit-frame-pointer2019112620190816
3330010944 0 021129 912 744regsgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
3330010184 0 019677 896 744regsgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
3330029684 0 041530 920 776sphlibgcc_-O3_-fomit-frame-pointer2019112620190816
3330022412 0 031974 904 744sphlibgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
333008376 0 019488 816 760sphlib-smallclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112620190816
3330014212 0 026074 920 776sphlib-smallgcc_-O3_-fomit-frame-pointer2019112620190816
333008236 0 018506 920 744sphlib-smallgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
333006212 0 015814 904 744sphlib-smallgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112620190816
333008952 0 022418 920 744sphlib-smallgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
3330423252 0 033442 920 744sphlibgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
3330423276 0 033506 920 744sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112620190816
3457824840 0 035944 816 760sphlibclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112620190816
3507925104 0 038562 920 744sphlibgcc_-funroll-loops_-O_-fomit-frame-pointer2019112620190816
350796212 0 015782 904 744sphlib-smallgcc_-Os_-fomit-frame-pointer2019112620190816
350796212 0 015782 904 744sphlib-smallgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
3537724840 0 035960 816 760sphlibclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112620190816
355322576 0 012101 896 744refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112620190816
3553225104 0 038562 920 744sphlibgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
3649924840 0 035960 816 760sphlibclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112620190816
3842010816 0 024017 912 744regsgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
4162524456 0 034714 920 744sphlibgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
4162522412 0 032006 904 744sphlibgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112620190816
4162522412 0 032006 904 744sphlibgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
4672623932 0 037170 920 744sphlibgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112620190816
4673010188 0 019709 896 744regsgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
4677210960 0 022032 816 760bswapclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112620190816
4677210624 0 022442 920 776bswapgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
467729952 0 019445 896 744bswapgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112620190816
467723600 0 016985 912 744refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
4677210844 0 024009 912 744regsgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112620190816
4677210184 0 019677 896 744regsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112620190816
467728376 0 019504 816 760sphlib-smallclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112620190816
499508436 0 021682 920 744sphlib-smallgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112620190816
499508952 0 022418 920 744sphlib-smallgcc_-funroll-loops_-O_-fomit-frame-pointer2019112620190816
499506212 0 015782 904 744sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112620190816
5827510612 0 023777 912 744bswapgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112620190816
582752896 0 013968 816 760refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112620190816
582752900 0 013992 816 760refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112620190816
582752900 0 013992 816 760refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112620190816
582753316 0 013473 912 744refgcc_-O2_-fomit-frame-pointer2019112620190816
5827510188 0 019709 896 744regsgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112620190816
5827523276 0 033506 920 744sphlibgcc_-O2_-fomit-frame-pointer2019112620190816
582758376 0 019504 816 760sphlib-smallclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112620190816
582758376 0 019504 816 760sphlib-smallclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112620190816
582829956 0 019477 896 744bswapgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
6244522412 0 031974 904 744sphlibgcc_-Os_-fomit-frame-pointer2019112620190816
6660010372 0 020561 912 744bswapgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
6660010372 0 020561 912 744bswapgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112620190816
6660024456 0 034722 920 744sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112620190816
666007668 0 017866 920 744sphlib-smallgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
6660014276 0 026122 920 776sphlib-smallgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
666006212 0 015814 904 744sphlib-smallgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
6660810944 0 021137 912 744regsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112620190816
701582572 0 012061 896 744refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112620190816
749253296 0 013409 912 744refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
8185114212 0 026074 920 776sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112620190816
8325052908 0 065430 904 744sphlibgcc2019112620190816
915752752 0 012937 912 744refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
915862752 0 012937 912 744refgcc_-O_-fomit-frame-pointer2019112620190816
9345211288 0 024673 912 744regsgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
934608292 0 021578 920 744sphlib-smallgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
935445080 0 018546 920 776refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
9354414148 0 027642 920 776sphlib-smallgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
999002572 0 012061 896 744refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
10822552908 0 065430 904 744sphlibcc2019112620190816
1169308236 0 018506 920 744sphlib-smallgcc_-O_-fomit-frame-pointer2019112620190816
1207275976 0 018421 896 744refgcc2019112620190816
16370230452 0 042901 896 744regsgcc2019112620190816
18692010944 0 021129 912 744regsgcc_-O_-fomit-frame-pointer2019112620190816
19769528800 0 041245 896 744bswapgcc2019112620190816
19980028800 0 041245 896 744bswapcc2019112620190816
19980028800 0 041245 896 744bswapgcc_-funroll-loops2019112620190816
20812530452 0 042901 896 744regsgcc_-funroll-loops2019112620190816
2497805976 0 018421 896 744refgcc_-funroll-loops2019112620190816
25724630452 0 042901 896 744regscc2019112620190816
30802513100 0 025630 904 744sphlib-smallcc2019112620190816
30802513100 0 025630 904 744sphlib-smallgcc2019112620190816
31222513100 0 025630 904 744sphlib-smallgcc_-funroll-loops2019112620190816
3579755976 0 018421 896 744refcc2019112620190816

Compiler output

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

Compiler output

Implementation: vect128
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
vector.c: In file included from vector.c:7:
vector.c: ./vector.h:968: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: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'; did you mean 'u32'?
vector.c: v32 v;
vector.c: ^~~
vector.c: u32
vector.c: ./compat.h:29:18: note: 'u32' declared here
vector.c: typedef uint32_t u32;
vector.c: ^
vector.c: In file included from vector.c:7:
vector.c: ./vector.h:997:3: error: unknown type name 'v64'; did you mean 'u64'?
vector.c: v64 v;
vector.c: ^~~
vector.c: u64
vector.c: ./compat.h:34:28: note: 'u64' declared here
vector.c: typedef unsigned long long u64;
vector.c: ^
vector.c: ...

Number of similar (compiler,implementation) pairs: 8, 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 -O3 -fomit-frame-pointer -Qunused-arguments vect128-mmxhack
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments vect128-mmxhack
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments vect128-mmxhack
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments vect128-mmxhack