Implementation notes: aarch64, rockpi4, crypto_hash/essence256

Computer: rockpi4
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20190816
Operation: crypto_hash
Primitive: essence256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
10490213180 3168 026484 3968 768gccclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
10531513352 3168 026708 3968 768gccclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019091120190816
10531513352 3168 026708 3968 768gccclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
10779313348 3168 026708 3968 768gccclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
11357511784 3168 024878 4072 744gccgcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
11398813952 3168 026239 4088 760gccgcc_-O3_-fomit-frame-pointer2019091120190816
11398816680 3168 030351 4088 760gccgcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
11398813104 3168 025519 4088 760gccgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091120190816
11522712136 3168 025326 4072 744gccgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
11522716952 3168 030583 4088 760gccgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
11564014184 3168 026463 4088 760gccgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
1358777628 3168 018646 4072 744gccgcc_-O2_-fomit-frame-pointer2019091120190816
1362906828 3168 017086 4056 736gccgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019091120190816
1367037660 3168 018630 4072 744gccgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
1391816832 3168 017150 4056 736gccgcc_-funroll-loops_-Os_-fomit-frame-pointer2019091120190816
13959413352 3168 026708 3968 768gccclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
15198414796 3168 029118 4072 744gccgcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
1647877552 3168 018646 4072 744gccgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
1647877524 3168 018630 4072 744gccgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091120190816
19039314796 3168 029118 4072 744gccgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
1970016832 3168 017150 4056 736gccgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
2098047724 3168 018870 4072 744gccgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091120190816
2151736832 3168 017086 4056 736gccgcc_-Os_-fomit-frame-pointer2019091120190816
2151736832 3168 017086 4056 736gccgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019091120190816
2796017552 3168 018646 4072 744gccgcc_-O_-fomit-frame-pointer2019091120190816
77478817072 3168 030326 4056 744gccgcc2019091120190816
146325917072 3168 030326 4056 744gccgcc_-funroll-loops2019091120190816
146491117072 3168 030326 4056 744gcccc2019091120190816

Compiler output

Implementation: gcc
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
essence_L_tables.c: In file included from essence_L_tables.c:12:
essence_L_tables.c: ./essence_api.h:13:9: warning: '_ESSENCE_API_H_' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
essence_L_tables.c: #ifndef _ESSENCE_API_H_
essence_L_tables.c: ^~~~~~~~~~~~~~~
essence_L_tables.c: ./essence_api.h:14:9: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
essence_L_tables.c: #define _ESSENCE_H_API_
essence_L_tables.c: ^~~~~~~~~~~~~~~
essence_L_tables.c: _ESSENCE_API_H_
essence_L_tables.c: 1 warning generated.
essence_api.c: In file included from essence_api.c:11:
essence_api.c: In file included from ./essence.h:11:
essence_api.c: ./essence_api.h:13:9: warning: '_ESSENCE_API_H_' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
essence_api.c: #ifndef _ESSENCE_API_H_
essence_api.c: ^~~~~~~~~~~~~~~
essence_api.c: ./essence_api.h:14:9: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
essence_api.c: #define _ESSENCE_H_API_
essence_api.c: ^~~~~~~~~~~~~~~
essence_api.c: _ESSENCE_API_H_
essence_api.c: 1 warning generated.
essence_compress_256.c: In file included from essence_compress_256.c:11:
essence_compress_256.c: In file included from ./essence.h:11:
essence_compress_256.c: ./essence_api.h:13:9: warning: '_ESSENCE_API_H_' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
essence_compress_256.c: #ifndef _ESSENCE_API_H_
essence_compress_256.c: ^~~~~~~~~~~~~~~
essence_compress_256.c: ./essence_api.h:14:9: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
essence_compress_256.c: #define _ESSENCE_H_API_
essence_compress_256.c: ^~~~~~~~~~~~~~~
essence_compress_256.c: _ESSENCE_API_H_
essence_compress_256.c: 1 warning generated.
essence_compress_256_dual.c: In file included from essence_compress_256_dual.c:11:
essence_compress_256_dual.c: In file included from ./essence.h:11:
essence_compress_256_dual.c: ./essence_api.h:13:9: warning: '_ESSENCE_API_H_' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
essence_compress_256_dual.c: #ifndef _ESSENCE_API_H_
essence_compress_256_dual.c: ^~~~~~~~~~~~~~~
essence_compress_256_dual.c: ./essence_api.h:14:9: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
essence_compress_256_dual.c: #define _ESSENCE_H_API_
essence_compress_256_dual.c: ^~~~~~~~~~~~~~~
essence_compress_256_dual.c: _ESSENCE_API_H_
essence_compress_256_dual.c: 1 warning generated.
essence_compress_512.c: In file included from essence_compress_512.c:10:
essence_compress_512.c: In file included from ./essence.h:11:
essence_compress_512.c: ./essence_api.h:13:9: warning: '_ESSENCE_API_H_' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
essence_compress_512.c: #ifndef _ESSENCE_API_H_
essence_compress_512.c: ^~~~~~~~~~~~~~~
essence_compress_512.c: ./essence_api.h:14:9: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
essence_compress_512.c: #define _ESSENCE_H_API_
essence_compress_512.c: ^~~~~~~~~~~~~~~
essence_compress_512.c: _ESSENCE_API_H_
essence_compress_512.c: 1 warning generated.
hash.c: In file included from hash.c:2:
hash.c: ./essence_api.h:13:9: warning: '_ESSENCE_API_H_' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
hash.c: #ifndef _ESSENCE_API_H_
hash.c: ^~~~~~~~~~~~~~~
hash.c: ./essence_api.h:14:9: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
hash.c: #define _ESSENCE_H_API_
hash.c: ^~~~~~~~~~~~~~~
hash.c: _ESSENCE_API_H_
hash.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments gcc
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments gcc
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments gcc
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments gcc
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments gcc