Implementation notes: aarch64, hikey960, crypto_hash/echosp512

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_hash
Primitive: echosp512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3553217836 0 028167 928 752generic/opt64gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
4441517341 0 027196 936 760generic/opt32gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
6660020752 0 034279 928 752generic/opt64gcc_-funroll-loops_-O_-fomit-frame-pointer2019112620190816
6660018284 0 028583 928 752generic/opt64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112620190816
6660017556 0 027887 928 752generic/opt64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112620190816
7492518780 0 029079 928 752generic/opt64gcc_-O2_-fomit-frame-pointer2019112620190816
8325018768 0 029256 952 760generic/opt32gcc_-O2_-fomit-frame-pointer2019112620190816
8325020744 0 034240 952 760generic/opt32gcc_-funroll-loops_-O2_-fomit-frame-pointer2019112620190816
8325022608 0 034712 952 792generic/opt32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112620190816
8325021212 0 034759 928 784generic/opt64gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
8883016744 0 027185 944 760powerpc/pp32cv1gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
9990026248 0 037376 816 768generic/opt64clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112620190816
9990023420 0 033865 944 760powerpc/pp32cv2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112620190816
10523717252 0 027768 952 760generic/opt32gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
10822521865 0 033169 832 776generic/opt32clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112620190816
10822521865 0 033169 832 776generic/opt32clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112620190816
10822520752 0 034279 928 752generic/opt64gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
10822525412 0 039057 944 760powerpc/pp32cv2gcc_-funroll-loops_-O_-fomit-frame-pointer2019112620190816
10822525412 0 039057 944 760powerpc/pp32cv2gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
11240121865 0 033153 832 776generic/opt32clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112620190816
11655021384 0 033472 952 792generic/opt32gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
11655022584 0 036320 952 792generic/opt32gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
11655023020 0 036599 928 784generic/opt64gcc_-funroll-loops_-O3_-fomit-frame-pointer2019112620190816
11655017972 0 027635 912 752generic/opt64gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
11655027740 0 041161 944 760powerpc/pp32cv2gcc_-funroll-loops_-O2_-fomit-frame-pointer2019112620190816
11656417972 0 027635 912 752generic/opt64gcc_-funroll-loops_-Os_-fomit-frame-pointer2019112620190816
12072723364 0 033809 944 760powerpc/pp32cv2gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
12436229864 4096 042644 5032 760generic/opt32cc2019112620190816
12487517380 0 028496 816 776powerpc/pp32cv1clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112620190816
12487525796 0 036209 944 760powerpc/pp32cv2gcc_-O2_-fomit-frame-pointer2019112620190816
14152522424 0 034536 952 792generic/opt32gcc_-O3_-fomit-frame-pointer2019112620190816
14152522052 0 035745 944 792powerpc/pp32cv1gcc_-funroll-loops_-O3_-fomit-frame-pointer2019112620190816
14152520876 0 032905 944 792powerpc/pp32cv1gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112620190816
14152528768 0 039904 816 776powerpc/pp32cv2clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112620190816
14985017140 0 027553 944 760powerpc/pp32cv1gcc_-O2_-fomit-frame-pointer2019112620190816
14985018864 0 032505 944 760powerpc/pp32cv1gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
14997617341 0 027196 936 760generic/opt32gcc_-funroll-loops_-Os_-fomit-frame-pointer2019112620190816
15200917948 0 027579 912 752generic/opt64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112620190816
15200926612 0 040073 944 760powerpc/pp32cv2gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
15817519696 0 033232 952 760generic/opt32gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
15817517724 0 027983 928 752generic/opt64gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
15817521228 0 033127 928 784generic/opt64gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
15817516800 0 027249 944 760powerpc/pp32cv1gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112620190816
16354120428 0 033775 928 752generic/opt64gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
16370217968 0 027603 912 752generic/opt64gcc_-Os_-fomit-frame-pointer2019112620190816
16650019148 0 032864 952 760generic/opt32gcc_-funroll-loops_-O_-fomit-frame-pointer2019112620190816
16650029364 0 043025 944 792powerpc/pp32cv2gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
17068323156 0 035071 928 784generic/opt64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112620190816
17482517720 0 028168 952 760generic/opt32gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
18315023276 0 033053 928 760powerpc/pp32cv2gcc_-funroll-loops_-Os_-fomit-frame-pointer2019112620190816
18708823608 0 037376 952 792generic/opt32gcc_-funroll-loops_-O3_-fomit-frame-pointer2019112620190816
18729017968 0 027603 912 752generic/opt64gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
18733523300 0 033045 928 760powerpc/pp32cv2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112620190816
18937130524 0 044217 944 792powerpc/pp32cv2gcc_-funroll-loops_-O3_-fomit-frame-pointer2019112620190816
19147518928 0 029416 952 760generic/opt32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112620190816
19147523364 0 033809 944 760powerpc/pp32cv2gcc_-O_-fomit-frame-pointer2019112620190816
19147524532 0 034905 944 760powerpc/pp32cv2gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
19980023296 0 033045 928 760powerpc/pp32cv2gcc_-Os_-fomit-frame-pointer2019112620190816
20430918864 0 032505 944 760powerpc/pp32cv1gcc_-funroll-loops_-O_-fomit-frame-pointer2019112620190816
21645017345 0 027172 936 760generic/opt32gcc_-Os_-fomit-frame-pointer2019112620190816
21645017345 0 027172 936 760generic/opt32gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
22207530200 4096 042787 5008 752generic/opt64cc2019112620190816
22216717353 0 027180 936 760generic/opt32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112620190816
22896522228 0 035535 928 752generic/opt64gcc_-funroll-loops_-O2_-fomit-frame-pointer2019112620190816
22896517380 0 028520 816 776powerpc/pp32cv1clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112620190816
23310029864 4096 042644 5032 760generic/opt32gcc_-funroll-loops2019112620190816
23310017312 0 027832 952 760generic/opt32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112620190816
23310017380 0 028520 816 776powerpc/pp32cv1clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112620190816
23310020852 0 032889 944 792powerpc/pp32cv1gcc_-O3_-fomit-frame-pointer2019112620190816
23310019172 0 032593 944 760powerpc/pp32cv1gcc_-funroll-loops_-O2_-fomit-frame-pointer2019112620190816
23310019324 0 032785 944 760powerpc/pp32cv1gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
23386030200 4096 042787 5008 752generic/opt64gcc_-funroll-loops2019112620190816
23386028172 0 040185 944 792powerpc/pp32cv2gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
24142526596 0 037704 816 768generic/opt64clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112620190816
24142526248 0 037376 816 768generic/opt64clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112620190816
24142516456 0 026205 928 760powerpc/pp32cv1gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
24145426248 0 037376 816 768generic/opt64clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112620190816
24975016452 0 026229 928 760powerpc/pp32cv1gcc_-funroll-loops_-Os_-fomit-frame-pointer2019112620190816
24975028768 0 039888 816 776powerpc/pp32cv2clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112620190816
24975029508 0 041537 944 792powerpc/pp32cv2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112620190816
25699323276 0 033053 928 760powerpc/pp32cv2gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
25807517316 0 027689 944 760powerpc/pp32cv1gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
25807516452 0 026229 928 760powerpc/pp32cv1gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
25810616456 0 026205 928 760powerpc/pp32cv1gcc_-Os_-fomit-frame-pointer2019112620190816
25810616460 0 026205 928 760powerpc/pp32cv1gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112620190816
29137543288 0 055989 928 760powerpc/pp32cv2cc2019112620190816
31571121012 0 033025 944 792powerpc/pp32cv1gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
32467523044 0 034967 928 784generic/opt64gcc_-O3_-fomit-frame-pointer2019112620190816
32711017252 0 027768 952 760generic/opt32gcc_-O_-fomit-frame-pointer2019112620190816
35044517172 0 027585 944 760powerpc/pp32cv1gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112620190816
35079028768 0 039904 816 776powerpc/pp32cv2clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112620190816
37386319148 0 032864 952 760generic/opt32gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
37462516744 0 027185 944 760powerpc/pp32cv1gcc_-O_-fomit-frame-pointer2019112620190816
37883323296 0 033045 928 760powerpc/pp32cv2gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
38586925836 0 036249 944 760powerpc/pp32cv2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112620190816
39127517836 0 028167 928 752generic/opt64gcc_-O_-fomit-frame-pointer2019112620190816
40792521972 0 034677 928 760powerpc/pp32cv1cc2019112620190816
40792521972 0 034677 928 760powerpc/pp32cv1gcc2019112620190816
42868617380 0 028520 816 776powerpc/pp32cv1clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112620190816
43711522212 0 035873 944 792powerpc/pp32cv1gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
45787543288 0 055989 928 760powerpc/pp32cv2gcc2019112620190816
49110628768 0 039904 816 776powerpc/pp32cv2clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112620190816
49956029508 0 041545 944 792powerpc/pp32cv2gcc_-O3_-fomit-frame-pointer2019112620190816
56610030200 4096 042787 5008 752generic/opt64gcc2019112620190816
68988721865 0 033169 832 776generic/opt32clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112620190816
74925029864 4096 042644 5032 760generic/opt32gcc2019112620190816
88245043288 0 055989 928 760powerpc/pp32cv2gcc_-funroll-loops2019112620190816
112387521972 0 034677 928 760powerpc/pp32cv1gcc_-funroll-loops2019112620190816

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_echosp512_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