Implementation notes: aarch64, hikey960, crypto_hash/echosp256

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_hash
Primitive: echosp256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3553220428 0 033775 928 752generic/opt64gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
4162520752 0 034279 928 752generic/opt64gcc_-funroll-loops_-O_-fomit-frame-pointer2019112620190816
4441522608 0 034712 952 792generic/opt32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112620190816
4578218780 0 029079 928 752generic/opt64gcc_-O2_-fomit-frame-pointer2019112620190816
4673017968 0 027603 912 752generic/opt64gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
4677217836 0 028167 928 752generic/opt64gcc_-O_-fomit-frame-pointer2019112620190816
4995017720 0 028168 952 760generic/opt32gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
4995019148 0 032864 952 760generic/opt32gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
5329817341 0 027196 936 760generic/opt32gcc_-funroll-loops_-Os_-fomit-frame-pointer2019112620190816
5411917345 0 027172 936 760generic/opt32gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
5411920744 0 034240 952 760generic/opt32gcc_-funroll-loops_-O2_-fomit-frame-pointer2019112620190816
5411923608 0 037376 952 792generic/opt32gcc_-funroll-loops_-O3_-fomit-frame-pointer2019112620190816
5827517353 0 027180 936 760generic/opt32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112620190816
5827526596 0 037704 816 768generic/opt64clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112620190816
5827526248 0 037376 816 768generic/opt64clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112620190816
5846517312 0 027832 952 760generic/opt32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112620190816
5846517724 0 027983 928 752generic/opt64gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
5846517972 0 027635 912 752generic/opt64gcc_-funroll-loops_-Os_-fomit-frame-pointer2019112620190816
5846518284 0 028583 928 752generic/opt64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112620190816
5846517556 0 027887 928 752generic/opt64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112620190816
6218117968 0 027603 912 752generic/opt64gcc_-Os_-fomit-frame-pointer2019112620190816
6660021865 0 033153 832 776generic/opt32clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112620190816
6660026612 0 040073 944 760powerpc/pp32cv2gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
6853018768 0 029256 952 760generic/opt32gcc_-O2_-fomit-frame-pointer2019112620190816
7077121865 0 033169 832 776generic/opt32clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112620190816
7077121865 0 033169 832 776generic/opt32clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112620190816
7492521384 0 033472 952 792generic/opt32gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
7492519696 0 033232 952 760generic/opt32gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
7492522228 0 035535 928 752generic/opt64gcc_-funroll-loops_-O2_-fomit-frame-pointer2019112620190816
7492523020 0 036599 928 784generic/opt64gcc_-funroll-loops_-O3_-fomit-frame-pointer2019112620190816
7492524532 0 034905 944 760powerpc/pp32cv2gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
7492523364 0 033809 944 760powerpc/pp32cv2gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
7994717380 0 028520 816 776powerpc/pp32cv1clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112620190816
7994720876 0 032905 944 792powerpc/pp32cv1gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112620190816
8325017948 0 027579 912 752generic/opt64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112620190816
8325025796 0 036209 944 760powerpc/pp32cv2gcc_-O2_-fomit-frame-pointer2019112620190816
8740223276 0 033053 928 760powerpc/pp32cv2gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
9157517341 0 027196 936 760generic/opt32gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
9157522052 0 035745 944 792powerpc/pp32cv1gcc_-funroll-loops_-O3_-fomit-frame-pointer2019112620190816
9157518864 0 032505 944 760powerpc/pp32cv1gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
9157528768 0 039904 816 776powerpc/pp32cv2clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112620190816
9354417836 0 028167 928 752generic/opt64gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
9990026248 0 037376 816 768generic/opt64clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112620190816
9990021228 0 033127 928 784generic/opt64gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
9990016744 0 027185 944 760powerpc/pp32cv1gcc_-O_-fomit-frame-pointer2019112620190816
9990016800 0 027249 944 760powerpc/pp32cv1gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112620190816
9990029364 0 043025 944 792powerpc/pp32cv2gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
10523717252 0 027768 952 760generic/opt32gcc_-O_-fomit-frame-pointer2019112620190816
10523729508 0 041545 944 792powerpc/pp32cv2gcc_-O3_-fomit-frame-pointer2019112620190816
10822530200 4096 042787 5008 752generic/opt64cc2019112620190816
10822523156 0 035071 928 784generic/opt64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112620190816
10822517380 0 028496 816 776powerpc/pp32cv1clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112620190816
10822517380 0 028520 816 776powerpc/pp32cv1clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112620190816
10822528172 0 040185 944 792powerpc/pp32cv2gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
10823823044 0 034967 928 784generic/opt64gcc_-O3_-fomit-frame-pointer2019112620190816
11655027740 0 041161 944 760powerpc/pp32cv2gcc_-funroll-loops_-O2_-fomit-frame-pointer2019112620190816
11655029508 0 041537 944 792powerpc/pp32cv2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112620190816
12487522424 0 034536 952 792generic/opt32gcc_-O3_-fomit-frame-pointer2019112620190816
12487530524 0 044217 944 792powerpc/pp32cv2gcc_-funroll-loops_-O3_-fomit-frame-pointer2019112620190816
12487523276 0 033053 928 760powerpc/pp32cv2gcc_-funroll-loops_-Os_-fomit-frame-pointer2019112620190816
12489018928 0 029416 952 760generic/opt32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112620190816
12862318864 0 032505 944 760powerpc/pp32cv1gcc_-funroll-loops_-O_-fomit-frame-pointer2019112620190816
13320021212 0 034759 928 784generic/opt64gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
13320020752 0 034279 928 752generic/opt64gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
13320023296 0 033045 928 760powerpc/pp32cv2gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
13320023300 0 033045 928 760powerpc/pp32cv2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112620190816
13770217345 0 027172 936 760generic/opt32gcc_-Os_-fomit-frame-pointer2019112620190816
14031617172 0 027585 944 760powerpc/pp32cv1gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112620190816
14152529864 4096 042644 5032 760generic/opt32cc2019112620190816
14152529864 4096 042644 5032 760generic/opt32gcc2019112620190816
14152517972 0 027635 912 752generic/opt64gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
14570519148 0 032864 952 760generic/opt32gcc_-funroll-loops_-O_-fomit-frame-pointer2019112620190816
14985026248 0 037376 816 768generic/opt64clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112620190816
14985017380 0 028520 816 776powerpc/pp32cv1clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112620190816
14985020852 0 032889 944 792powerpc/pp32cv1gcc_-O3_-fomit-frame-pointer2019112620190816
14985019172 0 032593 944 760powerpc/pp32cv1gcc_-funroll-loops_-O2_-fomit-frame-pointer2019112620190816
14985019324 0 032785 944 760powerpc/pp32cv1gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
15817517316 0 027689 944 760powerpc/pp32cv1gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
16370221865 0 033169 832 776generic/opt32clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112620190816
16650017140 0 027553 944 760powerpc/pp32cv1gcc_-O2_-fomit-frame-pointer2019112620190816
16650016456 0 026205 928 760powerpc/pp32cv1gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
16650016452 0 026229 928 760powerpc/pp32cv1gcc_-funroll-loops_-Os_-fomit-frame-pointer2019112620190816
16650016452 0 026229 928 760powerpc/pp32cv1gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
16650016460 0 026205 928 760powerpc/pp32cv1gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112620190816
17482522584 0 036320 952 792generic/opt32gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
17482523420 0 033865 944 760powerpc/pp32cv2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112620190816
18692023296 0 033045 928 760powerpc/pp32cv2gcc_-Os_-fomit-frame-pointer2019112620190816
19147543288 0 055989 928 760powerpc/pp32cv2gcc_-funroll-loops2019112620190816
21047417252 0 027768 952 760generic/opt32gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
22477528768 0 039888 816 776powerpc/pp32cv2clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112620190816
22477528768 0 039904 816 776powerpc/pp32cv2clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112620190816
23365025412 0 039057 944 760powerpc/pp32cv2gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
23386016456 0 026205 928 760powerpc/pp32cv1gcc_-Os_-fomit-frame-pointer2019112620190816
23386025412 0 039057 944 760powerpc/pp32cv2gcc_-funroll-loops_-O_-fomit-frame-pointer2019112620190816
24142516744 0 027185 944 760powerpc/pp32cv1gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
24555323364 0 033809 944 760powerpc/pp32cv2gcc_-O_-fomit-frame-pointer2019112620190816
28305022212 0 035873 944 792powerpc/pp32cv1gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
29973621012 0 033025 944 792powerpc/pp32cv1gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
30802543288 0 055989 928 760powerpc/pp32cv2gcc2019112620190816
31571128768 0 039904 816 776powerpc/pp32cv2clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112620190816
33300025836 0 036249 944 760powerpc/pp32cv2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112620190816
39085221972 0 034677 928 760powerpc/pp32cv1gcc_-funroll-loops2019112620190816
41625021972 0 034677 928 760powerpc/pp32cv1cc2019112620190816
49062330200 4096 042787 5008 752generic/opt64gcc2019112620190816
49117529864 4096 042644 5032 760generic/opt32gcc_-funroll-loops2019112620190816
66600030200 4096 042787 5008 752generic/opt64gcc_-funroll-loops2019112620190816
73665921972 0 034677 928 760powerpc/pp32cv1gcc2019112620190816
78343143288 0 055989 928 760powerpc/pp32cv2cc2019112620190816

Compiler output

Implementation: generic/opt32
Security model: unknown
Compiler: cc
echo32.c: echo32.c: In function 'PrintState':
echo32.c: echo32.c:37:4: warning: implicit declaration of function 'printf' [-Wimplicit-function-declaration]
echo32.c: printf ("row %d,col %d :",i,j);
echo32.c: ^~~~~~
echo32.c: echo32.c:37:4: warning: incompatible implicit declaration of built-in function 'printf'
echo32.c: echo32.c:37:4: note: include '<stdio.h>' or provide a declaration of 'printf'
echo32.c: echo32.c:47:2: warning: incompatible implicit declaration of built-in function 'printf'
echo32.c: printf("-----------------------------------\n");
echo32.c: ^~~~~~
echo32.c: echo32.c:47:2: note: include '<stdio.h>' or provide a declaration of 'printf'

Number of similar (compiler,implementation) pairs: 23, namely:
CompilerImplementations
cc generic/opt32
gcc generic/opt32
gcc -O2 -fomit-frame-pointer generic/opt32
gcc -O3 -fomit-frame-pointer generic/opt32
gcc -O -fomit-frame-pointer generic/opt32
gcc -Os -fomit-frame-pointer generic/opt32
gcc -fno-schedule-insns -O2 -fomit-frame-pointer generic/opt32
gcc -fno-schedule-insns -O3 -fomit-frame-pointer generic/opt32
gcc -fno-schedule-insns -O -fomit-frame-pointer generic/opt32
gcc -fno-schedule-insns -Os -fomit-frame-pointer generic/opt32
gcc -funroll-loops generic/opt32
gcc -funroll-loops -O2 -fomit-frame-pointer generic/opt32
gcc -funroll-loops -O3 -fomit-frame-pointer generic/opt32
gcc -funroll-loops -O -fomit-frame-pointer generic/opt32
gcc -funroll-loops -Os -fomit-frame-pointer generic/opt32
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer generic/opt32
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer generic/opt32
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer generic/opt32
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer generic/opt32
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv generic/opt32
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv generic/opt32
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv generic/opt32
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv generic/opt32

Compiler output

Implementation: generic/opt32
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
echo32.c: echo32.c:37:4: warning: implicitly declaring library function 'printf' with type 'int (const char *, ...)' [-Wimplicit-function-declaration]
echo32.c: printf ("row %d,col %d :",i,j);
echo32.c: ^
echo32.c: echo32.c:37:4: note: include the header <stdio.h> or explicitly provide a declaration for 'printf'
echo32.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments generic/opt32
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments generic/opt32
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments generic/opt32
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments generic/opt32

Compiler output

Implementation: generic/opt64
Security model: unknown
Compiler: cc
echo64.c: echo64.c: In function 'crypto_hash_echosp256_generic_opt64':
echo64.c: echo64.c:555:29: warning: passing argument 2 of 'Hash' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
echo64.c: if (Hash(CRYPTO_BYTES * 8,in,inlen * 8,out) == SUCCESS) return 0;
echo64.c: ^~
echo64.c: echo64.c:542:12: note: expected 'BitSequence * {aka unsigned char *}' but argument is of type 'const unsigned char *'
echo64.c: HashReturn Hash(int hashbitlen, BitSequence *data, DataLength databitlen, BitSequence *hashval)
echo64.c: ^~~~

Number of similar (compiler,implementation) pairs: 23, namely:
CompilerImplementations
cc generic/opt64
gcc generic/opt64
gcc -O2 -fomit-frame-pointer generic/opt64
gcc -O3 -fomit-frame-pointer generic/opt64
gcc -O -fomit-frame-pointer generic/opt64
gcc -Os -fomit-frame-pointer generic/opt64
gcc -fno-schedule-insns -O2 -fomit-frame-pointer generic/opt64
gcc -fno-schedule-insns -O3 -fomit-frame-pointer generic/opt64
gcc -fno-schedule-insns -O -fomit-frame-pointer generic/opt64
gcc -fno-schedule-insns -Os -fomit-frame-pointer generic/opt64
gcc -funroll-loops generic/opt64
gcc -funroll-loops -O2 -fomit-frame-pointer generic/opt64
gcc -funroll-loops -O3 -fomit-frame-pointer generic/opt64
gcc -funroll-loops -O -fomit-frame-pointer generic/opt64
gcc -funroll-loops -Os -fomit-frame-pointer generic/opt64
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer generic/opt64
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer generic/opt64
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer generic/opt64
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer generic/opt64
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv generic/opt64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv generic/opt64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv generic/opt64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv generic/opt64

Compiler output

Implementation: generic/opt64
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
echo64.c: echo64.c:555:29: warning: passing 'const unsigned char *' to parameter of type 'BitSequence *' (aka 'unsigned char *') discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
echo64.c: if (Hash(CRYPTO_BYTES * 8,in,inlen * 8,out) == SUCCESS) return 0;
echo64.c: ^~
echo64.c: echo64.c:542:46: note: passing argument to parameter 'data' here
echo64.c: HashReturn Hash(int hashbitlen, BitSequence *data, DataLength databitlen, BitSequence *hashval)
echo64.c: ^
echo64.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments generic/opt64
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments generic/opt64
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments generic/opt64
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments generic/opt64