Implementation notes: aarch64, supercoplxc, crypto_hash/blake256

Computer: supercoplxc
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_hash
Primitive: blake256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
369609904 0 022718 800 768bswapclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019083120190816
3704010136 0 022950 800 768regsclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019083120190816
3776010572 0 022273 896 760bswapgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019083120190816
3784010160 0 019824 872 736bswapgcc_-Os_-fomit-frame-pointer2019083120190816
3784010312 0 020688 888 744bswapgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019083120190816
3784010160 0 019824 872 736bswapgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019083120190816
3792028276 0 040081 896 760sphlibgcc_-O3_-fomit-frame-pointer2019083120190816
3800010836 0 022529 896 760regsgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019083120190816
3808010352 0 020008 872 736regsgcc_-Os_-fomit-frame-pointer2019083120190816
3808010504 0 020872 888 744regsgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019083120190816
3808010352 0 020008 872 736regsgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019083120190816
3816010164 0 019896 872 736bswapgcc_-funroll-loops_-Os_-fomit-frame-pointer2019083120190816
3816010164 0 019896 872 736bswapgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019083120190816
3816022728 0 035582 800 768sphlibclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019083120190816
3816023540 0 034161 896 744sphlibgcc_-O2_-fomit-frame-pointer2019083120190816
3832023492 0 036193 896 744sphlibgcc_-funroll-loops_-O2_-fomit-frame-pointer2019083120190816
3840010356 0 020080 872 736regsgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019083120190816
3840027996 0 041177 896 760sphlibgcc_-funroll-loops_-O3_-fomit-frame-pointer2019083120190816
3848010356 0 020080 872 736regsgcc_-funroll-loops_-Os_-fomit-frame-pointer2019083120190816
3864023580 0 034145 896 744sphlibgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019083120190816
387209980 0 022798 800 768regsclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019083120190816
388009748 0 022566 800 768bswapclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019083120190816
388009748 0 022566 800 768bswapclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019083120190816
388009748 0 022566 800 768bswapclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019083120190816
388009980 0 022798 800 768regsclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019083120190816
388009980 0 022798 800 768regsclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019083120190816
388809748 0 022510 800 768bswapclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019083120190816
388809980 0 022742 800 768regsclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019083120190816
3904010560 0 020992 888 744bswapgcc_-O2_-fomit-frame-pointer2019083120190816
3904010824 0 022537 896 760bswapgcc_-O3_-fomit-frame-pointer2019083120190816
3904011056 0 022761 896 760regsgcc_-O3_-fomit-frame-pointer2019083120190816
3904028336 0 040137 896 760sphlibgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019083120190816
3912010752 0 021176 888 744regsgcc_-O2_-fomit-frame-pointer2019083120190816
3936010624 0 023208 888 744bswapgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019083120190816
3936010572 0 023633 896 760bswapgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019083120190816
3944010808 0 023400 888 744regsgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019083120190816
3944010836 0 023889 896 760regsgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019083120190816
3960010768 0 023857 896 760bswapgcc_-funroll-loops_-O3_-fomit-frame-pointer2019083120190816
3968010808 0 023312 888 744bswapgcc_-funroll-loops_-O2_-fomit-frame-pointer2019083120190816
3976011000 0 024089 896 760regsgcc_-funroll-loops_-O3_-fomit-frame-pointer2019083120190816
3984011000 0 023504 888 744regsgcc_-funroll-loops_-O2_-fomit-frame-pointer2019083120190816
4032022832 0 035686 800 768sphlibclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019083120190816
4040022832 0 035638 800 768sphlibclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019083120190816
4040022832 0 035686 800 768sphlibclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019083120190816
4040022832 0 035686 800 768sphlibclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019083120190816
4208022996 0 032865 880 736sphlibgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019083120190816
4216022996 0 032865 880 736sphlibgcc_-Os_-fomit-frame-pointer2019083120190816
4296023628 0 036417 896 744sphlibgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019083120190816
4344028296 0 041457 896 760sphlibgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019083120190816
4688022996 0 032929 880 736sphlibgcc_-funroll-loops_-Os_-fomit-frame-pointer2019083120190816
4688022996 0 032929 880 736sphlibgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019083120190816
531202784 0 015598 800 768refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019083120190816
548006816 0 019670 800 768sphlib-smallclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019083120190816
639207004 0 019806 800 768sphlib-smallclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019083120190816
639207004 0 019862 800 768sphlib-smallclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019083120190816
640007004 0 019862 800 768sphlib-smallclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019083120190816
640007004 0 019862 800 768sphlib-smallclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019083120190816
676802936 0 015702 800 768refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019083120190816
676802936 0 015750 800 768refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019083120190816
676802936 0 015750 800 768refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019083120190816
676802936 0 015750 800 768refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019083120190816
677608204 0 018833 896 744sphlib-smallgcc_-O2_-fomit-frame-pointer2019083120190816
6784012892 0 024721 896 760sphlib-smallgcc_-O3_-fomit-frame-pointer2019083120190816
6920012740 0 025945 896 760sphlib-smallgcc_-funroll-loops_-O3_-fomit-frame-pointer2019083120190816
709608276 0 020977 896 744sphlib-smallgcc_-funroll-loops_-O2_-fomit-frame-pointer2019083120190816
712006776 0 016649 880 736sphlib-smallgcc_-Os_-fomit-frame-pointer2019083120190816
712006776 0 016649 880 736sphlib-smallgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019083120190816
735204044 0 017129 896 760refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019083120190816
743204060 0 015769 896 760refgcc_-O3_-fomit-frame-pointer2019083120190816
749602800 0 012456 872 736refgcc_-Os_-fomit-frame-pointer2019083120190816
749602800 0 012456 872 736refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019083120190816
752808060 0 018641 896 744sphlib-smallgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019083120190816
7672012792 0 024601 896 760sphlib-smallgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019083120190816
783204272 0 016768 888 744refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019083120190816
794408116 0 020905 896 744sphlib-smallgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019083120190816
800004080 0 015769 896 760refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019083120190816
820806776 0 016713 880 736sphlib-smallgcc_-funroll-loops_-Os_-fomit-frame-pointer2019083120190816
820806776 0 016713 880 736sphlib-smallgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019083120190816
848802804 0 012528 872 736refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019083120190816
848802804 0 012528 872 736refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019083120190816
850403552 0 013976 888 744refgcc_-O2_-fomit-frame-pointer2019083120190816
8720012752 0 025929 896 760sphlib-smallgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019083120190816
876004280 0 016872 888 744refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019083120190816
887203536 0 013904 888 744refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019083120190816
887204072 0 017121 896 760refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019083120190816
10440012736 0 026472 888 744regsgcc_-funroll-loops_-O_-fomit-frame-pointer2019083120190816
10440012736 0 026472 888 744regsgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019083120190816
10464012460 0 022976 888 744regsgcc_-O_-fomit-frame-pointer2019083120190816
10464012460 0 022976 888 744regsgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019083120190816
10568028724 0 042625 896 744sphlibgcc_-funroll-loops_-O_-fomit-frame-pointer2019083120190816
10568028724 0 042625 896 744sphlibgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019083120190816
10592028036 0 038721 896 744sphlibgcc_-O_-fomit-frame-pointer2019083120190816
10592028036 0 038721 896 744sphlibgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019083120190816
1084809260 0 019953 896 744sphlib-smallgcc_-O_-fomit-frame-pointer2019083120190816
1084809260 0 019953 896 744sphlib-smallgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019083120190816
1084809972 0 023881 896 744sphlib-smallgcc_-funroll-loops_-O_-fomit-frame-pointer2019083120190816
1084809972 0 023881 896 744sphlib-smallgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019083120190816
11592013396 0 027128 888 744bswapgcc_-funroll-loops_-O_-fomit-frame-pointer2019083120190816
11592013396 0 027128 888 744bswapgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019083120190816
11648013128 0 023640 888 744bswapgcc_-O_-fomit-frame-pointer2019083120190816
11648013128 0 023640 888 744bswapgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019083120190816
1278403980 0 017704 888 744refgcc_-funroll-loops_-O_-fomit-frame-pointer2019083120190816
1278403980 0 017704 888 744refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019083120190816
1344803140 0 013656 888 744refgcc_-O_-fomit-frame-pointer2019083120190816
1345603140 0 013656 888 744refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019083120190816
18936053804 0 070817 880 744sphlibgcc2019083120190816
18944053804 0 070817 880 744sphlibgcc_-funroll-loops2019083120190816
18984053804 0 070817 880 744sphlibcc2019083120190816
24688028960 0 041640 872 744bswapcc2019083120190816
24688028960 0 041640 872 744bswapgcc2019083120190816
24688028960 0 041640 872 744bswapgcc_-funroll-loops2019083120190816
25976030612 0 043288 872 744regsgcc2019083120190816
25984030612 0 043288 872 744regscc2019083120190816
25984030612 0 043288 872 744regsgcc_-funroll-loops2019083120190816
38936013996 0 031017 880 744sphlib-smallcc2019083120190816
38936013996 0 031017 880 744sphlib-smallgcc2019083120190816
38936013996 0 031017 880 744sphlib-smallgcc_-funroll-loops2019083120190816
4409606136 0 018816 872 744refcc2019083120190816
4409606136 0 018816 872 744refgcc2019083120190816
4409606136 0 018816 872 744refgcc_-funroll-loops2019083120190816

Compiler output

Implementation: vect128
Security model: unknown
Compiler: cc
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: 38, 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
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

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: 10, 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
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
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments vect128-mmxhack