Implementation notes: aarch64, supercoplxc, crypto_hash/blake512

Computer: supercoplxc
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_hash
Primitive: blake512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2256012517 0 025310 800 768bswapclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019083120190816
2256012517 0 025310 800 768bswapclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019083120190816
2264012505 0 025246 800 768bswapclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019083120190816
2264012517 0 025310 800 768bswapclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019083120190816
2272013093 0 025830 800 768regsclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019083120190816
2272013105 0 025894 800 768regsclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019083120190816
2280013105 0 025894 800 768regsclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019083120190816
2280013105 0 025894 800 768regsclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019083120190816
2336011952 0 021616 872 736bswapgcc_-Os_-fomit-frame-pointer2019083120190816
2336011952 0 021616 872 736bswapgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019083120190816
2360012496 0 022152 872 736regsgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019083120190816
2368012496 0 022152 872 736regsgcc_-Os_-fomit-frame-pointer2019083120190816
2376013333 0 026126 800 768bswapclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019083120190816
2392013917 0 026710 800 768regsclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019083120190816
2400011956 0 021688 872 736bswapgcc_-funroll-loops_-Os_-fomit-frame-pointer2019083120190816
2400011956 0 021688 872 736bswapgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019083120190816
2424012500 0 022224 872 736regsgcc_-funroll-loops_-Os_-fomit-frame-pointer2019083120190816
2424012500 0 022224 872 736regsgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019083120190816
2464013000 0 024825 896 760bswapgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019083120190816
2472012816 0 023296 888 744bswapgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019083120190816
2472013584 0 025401 896 760regsgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019083120190816
2472022736 0 035590 800 768sphlibclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019083120190816
2496013256 0 025089 896 760bswapgcc_-O3_-fomit-frame-pointer2019083120190816
2496013816 0 025649 896 760regsgcc_-O3_-fomit-frame-pointer2019083120190816
2496013352 0 023824 888 744regsgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019083120190816
2504013040 0 023568 888 744bswapgcc_-O2_-fomit-frame-pointer2019083120190816
2512023540 0 034265 896 744sphlibgcc_-O2_-fomit-frame-pointer2019083120190816
2512028276 0 040209 896 760sphlibgcc_-O3_-fomit-frame-pointer2019083120190816
2528013584 0 024112 888 744regsgcc_-O2_-fomit-frame-pointer2019083120190816
2536013592 0 026809 896 760bswapgcc_-funroll-loops_-O3_-fomit-frame-pointer2019083120190816
2536023580 0 034249 896 744sphlibgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019083120190816
2544014152 0 027369 896 760regsgcc_-funroll-loops_-O3_-fomit-frame-pointer2019083120190816
2544028336 0 040265 896 760sphlibgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019083120190816
2544023492 0 036305 896 744sphlibgcc_-funroll-loops_-O2_-fomit-frame-pointer2019083120190816
2552013376 0 025992 888 744bswapgcc_-funroll-loops_-O2_-fomit-frame-pointer2019083120190816
2560027996 0 041305 896 760sphlibgcc_-funroll-loops_-O3_-fomit-frame-pointer2019083120190816
2568013428 0 026609 896 760bswapgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019083120190816
2576013240 0 025928 888 744bswapgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019083120190816
2576013920 0 026536 888 744regsgcc_-funroll-loops_-O2_-fomit-frame-pointer2019083120190816
2576014012 0 027201 896 760regsgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019083120190816
2608013776 0 026472 888 744regsgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019083120190816
2720022840 0 035646 800 768sphlibclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019083120190816
2720022840 0 035694 800 768sphlibclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019083120190816
2720022840 0 035694 800 768sphlibclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019083120190816
2720022840 0 035694 800 768sphlibclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019083120190816
2728022996 0 032865 880 736sphlibgcc_-Os_-fomit-frame-pointer2019083120190816
2728022996 0 032865 880 736sphlibgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019083120190816
2792023628 0 036521 896 744sphlibgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019083120190816
2808028296 0 041585 896 760sphlibgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019083120190816
2944022996 0 032929 880 736sphlibgcc_-funroll-loops_-Os_-fomit-frame-pointer2019083120190816
2944022996 0 032929 880 736sphlibgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019083120190816
332006824 0 019678 800 768sphlib-smallclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019083120190816
344804725 0 017518 800 768refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019083120190816
386407012 0 019814 800 768sphlib-smallclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019083120190816
386407012 0 019870 800 768sphlib-smallclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019083120190816
386407012 0 019870 800 768sphlib-smallclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019083120190816
386407012 0 019870 800 768sphlib-smallclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019083120190816
420004801 0 017542 800 768refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019083120190816
420004813 0 017606 800 768refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019083120190816
420004813 0 017606 800 768refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019083120190816
420004813 0 017606 800 768refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019083120190816
4248012740 0 026073 896 760sphlib-smallgcc_-funroll-loops_-O3_-fomit-frame-pointer2019083120190816
425608276 0 021089 896 744sphlib-smallgcc_-funroll-loops_-O2_-fomit-frame-pointer2019083120190816
428008204 0 018937 896 744sphlib-smallgcc_-O2_-fomit-frame-pointer2019083120190816
4288012892 0 024849 896 760sphlib-smallgcc_-O3_-fomit-frame-pointer2019083120190816
438406776 0 016649 880 736sphlib-smallgcc_-Os_-fomit-frame-pointer2019083120190816
439206776 0 016649 880 736sphlib-smallgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019083120190816
449603505 0 013168 872 736refgcc_-Os_-fomit-frame-pointer2019083120190816
449603505 0 013168 872 736refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019083120190816
483208116 0 021009 896 744sphlib-smallgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019083120190816
484008060 0 018745 896 744sphlib-smallgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019083120190816
4848012792 0 024729 896 760sphlib-smallgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019083120190816
4848012752 0 026057 896 760sphlib-smallgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019083120190816
486404985 0 017608 888 744refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019083120190816
492806776 0 016713 880 736sphlib-smallgcc_-funroll-loops_-Os_-fomit-frame-pointer2019083120190816
492806776 0 016713 880 736sphlib-smallgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019083120190816
499205261 0 017121 896 760refgcc_-O3_-fomit-frame-pointer2019083120190816
501605725 0 018953 896 760refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019083120190816
512803509 0 013240 872 736refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019083120190816
512803509 0 013240 872 736refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019083120190816
514405229 0 017073 896 760refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019083120190816
536004385 0 014928 888 744refgcc_-O2_-fomit-frame-pointer2019083120190816
547205689 0 018881 896 760refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019083120190816
556804409 0 014896 888 744refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019083120190816
562405049 0 017752 888 744refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019083120190816
6344028724 0 042625 896 744sphlibgcc_-funroll-loops_-O_-fomit-frame-pointer2019083120190816
6344028724 0 042625 896 744sphlibgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019083120190816
6352028036 0 038721 896 744sphlibgcc_-O_-fomit-frame-pointer2019083120190816
6352028036 0 038721 896 744sphlibgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019083120190816
6688015176 0 028912 888 744bswapgcc_-funroll-loops_-O_-fomit-frame-pointer2019083120190816
6688015176 0 028912 888 744bswapgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019083120190816
6696014744 0 025256 888 744bswapgcc_-O_-fomit-frame-pointer2019083120190816
6696014744 0 025256 888 744bswapgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019083120190816
7112016700 0 030432 888 744regsgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019083120190816
7120016700 0 030432 888 744regsgcc_-funroll-loops_-O_-fomit-frame-pointer2019083120190816
7128016268 0 026784 888 744regsgcc_-O_-fomit-frame-pointer2019083120190816
7128016268 0 026784 888 744regsgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019083120190816
738409260 0 019953 896 744sphlib-smallgcc_-O_-fomit-frame-pointer2019083120190816
738409972 0 023881 896 744sphlib-smallgcc_-funroll-loops_-O_-fomit-frame-pointer2019083120190816
738409972 0 023881 896 744sphlib-smallgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019083120190816
739209260 0 019953 896 744sphlib-smallgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019083120190816
758404401 0 018136 888 744refgcc_-funroll-loops_-O_-fomit-frame-pointer2019083120190816
758404401 0 018136 888 744refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019083120190816
816803861 0 014376 888 744refgcc_-O_-fomit-frame-pointer2019083120190816
816803861 0 014376 888 744refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019083120190816
13264053804 0 070817 880 744sphlibcc2019083120190816
13264053804 0 070817 880 744sphlibgcc_-funroll-loops2019083120190816
13328053804 0 070817 880 744sphlibgcc2019083120190816
15112034929 0 047616 872 744bswapgcc2019083120190816
15128034929 0 047616 872 744bswapcc2019083120190816
15136034929 0 047616 872 744bswapgcc_-funroll-loops2019083120190816
17176039253 0 051936 872 744regsgcc2019083120190816
17192039253 0 051936 872 744regsgcc_-funroll-loops2019083120190816
17208039253 0 051936 872 744regscc2019083120190816
24272013996 0 031017 880 744sphlib-smallcc2019083120190816
24272013996 0 031017 880 744sphlib-smallgcc2019083120190816
24272013996 0 031017 880 744sphlib-smallgcc_-funroll-loops2019083120190816
2708807813 0 020496 872 744refcc2019083120190816
2708807813 0 020496 872 744refgcc2019083120190816
2708807813 0 020496 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-inplace
gcc vect128-inplace
gcc -O2 -fomit-frame-pointer vect128-inplace
gcc -O3 -fomit-frame-pointer vect128-inplace
gcc -O -fomit-frame-pointer vect128-inplace
gcc -Os -fomit-frame-pointer vect128-inplace
gcc -fno-schedule-insns -O2 -fomit-frame-pointer vect128-inplace
gcc -fno-schedule-insns -O3 -fomit-frame-pointer vect128-inplace
gcc -fno-schedule-insns -O -fomit-frame-pointer vect128-inplace
gcc -fno-schedule-insns -Os -fomit-frame-pointer vect128-inplace
gcc -funroll-loops vect128-inplace
gcc -funroll-loops -O2 -fomit-frame-pointer vect128-inplace
gcc -funroll-loops -O3 -fomit-frame-pointer vect128-inplace
gcc -funroll-loops -O -fomit-frame-pointer vect128-inplace
gcc -funroll-loops -Os -fomit-frame-pointer vect128-inplace
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer vect128-inplace
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer vect128-inplace
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer vect128-inplace
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer vect128-inplace

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-inplace
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments vect128-inplace
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments vect128-inplace
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments vect128-inplace
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments vect128-inplace