Implementation notes: aarch64, rockpi4, crypto_hash/echosp256

Computer: rockpi4
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20190816
Operation: crypto_hash
Primitive: echosp256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
4749518332 0 029359 904 752generic/opt64gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
4832118548 0 029639 904 752generic/opt64gcc_-O2_-fomit-frame-pointer2019091120190816
4832121788 0 034191 904 768generic/opt64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091120190816
4914721380 0 034535 904 752generic/opt64gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
4997318204 0 028527 888 744generic/opt64gcc_-Os_-fomit-frame-pointer2019091120190816
4997318204 0 028527 888 744generic/opt64gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
4997318204 0 028591 888 744generic/opt64gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
4997318204 0 028527 888 744generic/opt64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091120190816
5038619029 0 032573 816 784generic/opt32clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
5038618592 0 029751 904 752generic/opt64gcc_-O_-fomit-frame-pointer2019091120190816
5038621168 0 035551 904 752generic/opt64gcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
5038621168 0 035551 904 752generic/opt64gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
5575521224 0 037742 928 776generic/opt32gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
5575520280 0 033678 928 760generic/opt32gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
5658118992 0 030238 928 760generic/opt32gcc_-O2_-fomit-frame-pointer2019091120190816
5658120824 0 034134 928 760generic/opt32gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
5782019469 0 033021 816 784generic/opt32clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
5823319469 0 032957 816 784generic/opt32clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
6153724340 0 037732 800 784powerpc/pp32cv2clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
6442817825 0 028342 912 752generic/opt32gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
6484117825 0 028278 912 752generic/opt32gcc_-Os_-fomit-frame-pointer2019091120190816
6484117825 0 028342 912 752generic/opt32gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091120190816
6484117809 0 028262 912 752generic/opt32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091120190816
6566717825 0 028278 912 752generic/opt32gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
6566727324 0 041023 920 776powerpc/pp32cv2gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
6649318572 0 029767 904 752generic/opt64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091120190816
6731921260 0 033567 904 768generic/opt64gcc_-O3_-fomit-frame-pointer2019091120190816
6731921220 0 034895 904 768generic/opt64gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
7021023524 0 034631 920 760powerpc/pp32cv2gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
7021022184 0 032623 904 752powerpc/pp32cv2gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091120190816
7062322204 0 032591 904 752powerpc/pp32cv2gcc_-Os_-fomit-frame-pointer2019091120190816
7062322184 0 032623 904 752powerpc/pp32cv2gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
7103626980 0 039447 920 776powerpc/pp32cv2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091120190816
7144920716 0 033975 904 752generic/opt64gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
7227522320 0 033535 920 760powerpc/pp32cv2gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
7268820572 0 034207 904 768generic/opt64gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
7351423544 0 036932 800 776generic/opt64clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091120190816
7351423544 0 036932 800 776generic/opt64clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
7351426324 0 039551 920 760powerpc/pp32cv2gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
7392718932 0 032324 800 776generic/opt64clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
7434024588 0 035751 920 760powerpc/pp32cv2gcc_-O2_-fomit-frame-pointer2019091120190816
7681825912 0 039300 800 784powerpc/pp32cv2clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
7723125912 0 039300 800 784powerpc/pp32cv2clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091120190816
7764418204 0 028591 888 744generic/opt64gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091120190816
8177422104 0 038654 928 776generic/opt32gcc_-O3_-fomit-frame-pointer2019091120190816
8177423024 0 036846 928 776generic/opt32gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
8218721392 0 038046 928 776generic/opt32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091120190816
8301322168 0 035950 928 776generic/opt32gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
8466519144 0 030494 928 760generic/opt32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091120190816
9168621436 0 035143 920 776powerpc/pp32cv1gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
9251218620 0 032004 800 784powerpc/pp32cv1clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
9333820492 0 032839 920 776powerpc/pp32cv1gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
9375118492 0 031828 800 784powerpc/pp32cv1clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
9375118492 0 031876 800 784powerpc/pp32cv1clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091120190816
9622921668 0 035407 920 776powerpc/pp32cv1gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
9705519924 0 032391 920 776powerpc/pp32cv1gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091120190816
9788118492 0 031876 800 784powerpc/pp32cv1clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
9788125340 0 038655 920 760powerpc/pp32cv2gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
9829417160 0 028367 920 760powerpc/pp32cv1gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
9870719469 0 033021 816 784generic/opt32clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091120190816
9870719469 0 033021 816 784generic/opt32clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
9870726364 0 038703 920 776powerpc/pp32cv2gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
10035920556 0 032831 904 768generic/opt64gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
10077227708 0 040071 920 776powerpc/pp32cv2gcc_-O3_-fomit-frame-pointer2019091120190816
10201116720 0 027103 904 752powerpc/pp32cv1gcc_-Os_-fomit-frame-pointer2019091120190816
10201128556 0 042303 920 776powerpc/pp32cv2gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
10242416720 0 027167 904 752powerpc/pp32cv1gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091120190816
10283719540 0 032775 920 760powerpc/pp32cv1gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
10366318352 0 029542 928 760generic/opt32gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
10944524676 0 035943 920 760powerpc/pp32cv2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091120190816
11233630528 4096 043855 4984 752generic/opt64cc2019091120190816
11233622204 0 032591 904 752powerpc/pp32cv2gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
11233622204 0 032591 904 752powerpc/pp32cv2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091120190816
12885619564 0 032887 920 760powerpc/pp32cv1gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
12926920660 0 033031 920 776powerpc/pp32cv1gcc_-O3_-fomit-frame-pointer2019091120190816
13381218492 0 031876 800 784powerpc/pp32cv1clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
13422518592 0 029751 904 752generic/opt64gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
13422518576 0 029735 904 752generic/opt64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091120190816
13463825912 0 039252 800 784powerpc/pp32cv2clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
13463825912 0 039300 800 784powerpc/pp32cv2clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
13546417764 0 028919 920 760powerpc/pp32cv1gcc_-O2_-fomit-frame-pointer2019091120190816
13629017852 0 029111 920 760powerpc/pp32cv1gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091120190816
14578916720 0 027167 904 752powerpc/pp32cv1gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
14826720180 0 034694 928 760generic/opt32gcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
14826720180 0 034694 928 760generic/opt32gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
14868017716 0 028807 920 760powerpc/pp32cv1gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
15033218112 0 029414 928 760generic/opt32gcc_-O_-fomit-frame-pointer2019091120190816
15033218112 0 029414 928 760generic/opt32gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
15033222968 0 036308 800 776generic/opt64clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
15033223544 0 036932 800 776generic/opt64clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
15115818136 0 029446 928 760generic/opt32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091120190816
15281024420 0 038855 920 760powerpc/pp32cv2gcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
15281024420 0 038855 920 760powerpc/pp32cv2gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
15611422320 0 033535 920 760powerpc/pp32cv2gcc_-O_-fomit-frame-pointer2019091120190816
15694022344 0 033551 920 760powerpc/pp32cv2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091120190816
15859216720 0 027103 904 752powerpc/pp32cv1gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
15900516720 0 027103 904 752powerpc/pp32cv1gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091120190816
20815219304 0 033751 920 760powerpc/pp32cv1gcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
20856519304 0 033751 920 760powerpc/pp32cv1gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
21104317160 0 028367 920 760powerpc/pp32cv1gcc_-O_-fomit-frame-pointer2019091120190816
21186917184 0 028399 920 760powerpc/pp32cv1gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091120190816
22632443572 0 056951 904 760powerpc/pp32cv2gcc_-funroll-loops2019091120190816
34361630528 4096 043855 4984 752generic/opt64gcc2019091120190816
34361630528 4096 043855 4984 752generic/opt64gcc_-funroll-loops2019091120190816
48321030300 4096 043766 5008 760generic/opt32cc2019091120190816
48321030300 4096 043766 5008 760generic/opt32gcc2019091120190816
51129430300 4096 043766 5008 760generic/opt32gcc_-funroll-loops2019091120190816
55796343572 0 056951 904 760powerpc/pp32cv2cc2019091120190816
55796343572 0 056951 904 760powerpc/pp32cv2gcc2019091120190816
74422622312 0 035687 904 760powerpc/pp32cv1cc2019091120190816
74422622312 0 035687 904 760powerpc/pp32cv1gcc2019091120190816
74422622312 0 035687 904 760powerpc/pp32cv1gcc_-funroll-loops2019091120190816

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:12:1:
echo32.c: +#include <stdio.h>
echo32.c:
echo32.c: echo32.c:37:4:
echo32.c: printf ("row %d,col %d :",i,j);
echo32.c: ^~~~~~
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: 5, 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
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -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:46: 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: 5, 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
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments generic/opt64