Implementation notes: aarch64, rockpi4, crypto_hash/echosp512

Computer: rockpi4
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20190816
Operation: crypto_hash
Primitive: echosp512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
7434020572 0 034335 904 768generic/opt64gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
7516618332 0 029471 904 752generic/opt64gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
7640521220 0 035023 904 768generic/opt64gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
7640518572 0 029863 904 752generic/opt64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091120190816
7681818548 0 029735 904 752generic/opt64gcc_-O2_-fomit-frame-pointer2019091120190816
7888318204 0 028527 888 744generic/opt64gcc_-Os_-fomit-frame-pointer2019091120190816
7888318204 0 028527 888 744generic/opt64gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
7888318204 0 028527 888 744generic/opt64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091120190816
7929618204 0 028591 888 744generic/opt64gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091120190816
7929618204 0 028591 888 744generic/opt64gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
8838222104 0 038782 928 776generic/opt32gcc_-O3_-fomit-frame-pointer2019091120190816
8838220280 0 033774 928 760generic/opt32gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
8920818352 0 029638 928 760generic/opt32gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
8920823024 0 036974 928 776generic/opt32gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
9209919469 0 033021 816 784generic/opt32clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091120190816
9209919469 0 033021 816 784generic/opt32clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
9251220180 0 034694 928 760generic/opt32gcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
9292520180 0 034694 928 760generic/opt32gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
9375118112 0 029414 928 760generic/opt32gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
10159817825 0 028342 912 752generic/opt32gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091120190816
10242417825 0 028278 912 752generic/opt32gcc_-Os_-fomit-frame-pointer2019091120190816
10242417809 0 028262 912 752generic/opt32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091120190816
10283726364 0 038831 920 776powerpc/pp32cv2gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
10572821788 0 034319 904 768generic/opt64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091120190816
10696721260 0 033695 904 768generic/opt64gcc_-O3_-fomit-frame-pointer2019091120190816
10696721380 0 034647 904 752generic/opt64gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
10903223524 0 034727 920 760powerpc/pp32cv2gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
10985822204 0 032591 904 752powerpc/pp32cv2gcc_-Os_-fomit-frame-pointer2019091120190816
10985822184 0 032623 904 752powerpc/pp32cv2gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
11027122184 0 032623 904 752powerpc/pp32cv2gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091120190816
11151026980 0 039575 920 776powerpc/pp32cv2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091120190816
11274922320 0 033535 920 760powerpc/pp32cv2gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
11316222320 0 033535 920 760powerpc/pp32cv2gcc_-O_-fomit-frame-pointer2019091120190816
11357520716 0 034071 904 752generic/opt64gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
11605324588 0 035847 920 760powerpc/pp32cv2gcc_-O2_-fomit-frame-pointer2019091120190816
11729223544 0 036932 800 776generic/opt64clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091120190816
11729223544 0 036932 800 776generic/opt64clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
11811818932 0 032324 800 776generic/opt64clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
12307425912 0 039300 800 784powerpc/pp32cv2clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091120190816
12348725912 0 039300 800 784powerpc/pp32cv2clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
12596522204 0 032591 904 752powerpc/pp32cv2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091120190816
12720421392 0 038174 928 776generic/opt32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091120190816
12761720824 0 034246 928 760generic/opt32gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
12926918992 0 030334 928 760generic/opt32gcc_-O2_-fomit-frame-pointer2019091120190816
12968222168 0 036078 928 776generic/opt32gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
12968219144 0 030590 928 760generic/opt32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091120190816
13463819029 0 032573 816 784generic/opt32clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
14207225912 0 039300 800 784powerpc/pp32cv2clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
14372417825 0 028342 912 752generic/opt32gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
14413719564 0 032983 920 760powerpc/pp32cv1gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
14620227324 0 041151 920 776powerpc/pp32cv2gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
14868019540 0 032887 920 760powerpc/pp32cv1gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
15033218492 0 031876 800 784powerpc/pp32cv1clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
15033217764 0 029015 920 760powerpc/pp32cv1gcc_-O2_-fomit-frame-pointer2019091120190816
15074520492 0 032967 920 776powerpc/pp32cv1gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
15115819924 0 032519 920 776powerpc/pp32cv1gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091120190816
15198424340 0 037732 800 784powerpc/pp32cv2clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
15198425340 0 038751 920 760powerpc/pp32cv2gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
15363619304 0 033751 920 760powerpc/pp32cv1gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
15404917160 0 028367 920 760powerpc/pp32cv1gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
15652727708 0 040199 920 776powerpc/pp32cv2gcc_-O3_-fomit-frame-pointer2019091120190816
15735319469 0 032957 816 784generic/opt32clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
15776619469 0 033021 816 784generic/opt32clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
15941821224 0 037870 928 776generic/opt32gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
15941828556 0 042431 920 776powerpc/pp32cv2gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
15983120556 0 032959 904 768generic/opt64gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
16065716720 0 027103 904 752powerpc/pp32cv1gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
16107016720 0 027103 904 752powerpc/pp32cv1gcc_-Os_-fomit-frame-pointer2019091120190816
16478726324 0 039663 920 760powerpc/pp32cv2gcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
16685224676 0 036039 920 760powerpc/pp32cv2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091120190816
16850416720 0 027103 904 752powerpc/pp32cv1gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091120190816
17304722204 0 032591 904 752powerpc/pp32cv2gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
19989221668 0 035535 920 776powerpc/pp32cv1gcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
20113118620 0 032004 800 784powerpc/pp32cv1clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
20237021436 0 035271 920 776powerpc/pp32cv1gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
20319620660 0 033159 920 776powerpc/pp32cv1gcc_-O3_-fomit-frame-pointer2019091120190816
21021717852 0 029207 920 760powerpc/pp32cv1gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091120190816
21145617825 0 028278 912 752generic/opt32gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
21269518492 0 031828 800 784powerpc/pp32cv1clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
21269518492 0 031876 800 784powerpc/pp32cv1clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091120190816
21310818492 0 031876 800 784powerpc/pp32cv1clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
21434718592 0 029751 904 752generic/opt64gcc_-O_-fomit-frame-pointer2019091120190816
21434718592 0 029751 904 752generic/opt64gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
21434721168 0 035551 904 752generic/opt64gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
21434718576 0 029735 904 752generic/opt64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091120190816
21476021168 0 035551 904 752generic/opt64gcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
21517325912 0 039252 800 784powerpc/pp32cv2clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
22715016720 0 027167 904 752powerpc/pp32cv1gcc_-funroll-loops_-Os_-fomit-frame-pointer2019091120190816
22715016720 0 027167 904 752powerpc/pp32cv1gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
23086717716 0 028919 920 760powerpc/pp32cv1gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
23582318112 0 029414 928 760generic/opt32gcc_-O_-fomit-frame-pointer2019091120190816
23623618136 0 029446 928 760generic/opt32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091120190816
23954024420 0 038855 920 760powerpc/pp32cv2gcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
23954024420 0 038855 920 760powerpc/pp32cv2gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
24077922968 0 036308 800 776generic/opt64clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
24077923544 0 036932 800 776generic/opt64clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
24243122344 0 033551 920 760powerpc/pp32cv2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091120190816
25936430300 4096 043766 5008 760generic/opt32gcc_-funroll-loops2019091120190816
32874819304 0 033751 920 760powerpc/pp32cv1gcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
32998717160 0 028367 920 760powerpc/pp32cv1gcc_-O_-fomit-frame-pointer2019091120190816
33040017184 0 028399 920 760powerpc/pp32cv1gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091120190816
34155143572 0 056951 904 760powerpc/pp32cv2gcc2019091120190816
34155143572 0 056951 904 760powerpc/pp32cv2gcc_-funroll-loops2019091120190816
47495022312 0 035687 904 760powerpc/pp32cv1gcc2019091120190816
54805130528 4096 043855 4984 752generic/opt64cc2019091120190816
54929030528 4096 043855 4984 752generic/opt64gcc_-funroll-loops2019091120190816
54970330528 4096 043855 4984 752generic/opt64gcc2019091120190816
75331230300 4096 043766 5008 760generic/opt32cc2019091120190816
75702930300 4096 043766 5008 760generic/opt32gcc2019091120190816
83219543572 0 056951 904 760powerpc/pp32cv2cc2019091120190816
112996822312 0 035687 904 760powerpc/pp32cv1gcc_-funroll-loops2019091120190816
113120722312 0 035687 904 760powerpc/pp32cv1cc2019091120190816

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_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: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