Implementation notes: aarch64, hikey960, crypto_hash/nasha256

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_hash
Primitive: nasha256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
88837856 0 018976 816 760optclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112620190816
888327564 0 437813 920 131816opt_v4gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
166508696 0 021865 912 744optgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112620190816
1665027876 0 438944 816 131840opt_v4clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112620190816
1665027876 0 438968 816 131840opt_v4clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112620190816
1665035972 0 447878 928 131848opt_v4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112620190816
177667856 0 018976 816 760optclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112620190816
208158680 0 021889 912 744optgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
2081527056 0 440285 920 131816opt_v4gcc_-funroll-loops_-O2_-fomit-frame-pointer2019112620190816
2081529424 0 442869 920 131816opt_v4gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
2497515196 0 027042 920 776optgcc_-O3_-fomit-frame-pointer2019112620190816
249756492 0 016013 896 744optgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112620190816
249756492 0 016013 896 744optgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
249756700 0 016857 912 744optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112620190816
2497528532 0 438081 904 131816opt_v4gcc_-Os_-fomit-frame-pointer2019112620190816
2497535268 0 447158 928 131848opt_v4gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
2497528532 0 438081 904 131816opt_v4gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
2497529424 0 442869 920 131816opt_v4gcc_-funroll-loops_-O_-fomit-frame-pointer2019112620190816
3330027876 0 438968 816 131840opt_v4clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112620190816
3330025268 0 435485 920 131816opt_v4gcc_-O2_-fomit-frame-pointer2019112620190816
3330034340 0 446246 928 131848opt_v4gcc_-O3_-fomit-frame-pointer2019112620190816
3330038836 0 452406 928 131848opt_v4gcc_-funroll-loops_-O3_-fomit-frame-pointer2019112620190816
3330039700 0 453238 928 131848opt_v4gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
3330028496 0 438081 904 131816opt_v4gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
3330426860 0 437077 920 131816opt_v4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112620190816
3507915292 0 027114 920 776optgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
395397856 0 018976 816 760optclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112620190816
409406860 0 017049 912 744optgcc_-O_-fomit-frame-pointer2019112620190816
416256692 0 016849 912 744optgcc_-O2_-fomit-frame-pointer2019112620190816
416256484 0 015973 896 744optgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112620190816
4162515172 0 027010 920 776optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112620190816
416256484 0 015973 896 744optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112620190816
4162528496 0 438081 904 131816opt_v4gcc_-funroll-loops_-Os_-fomit-frame-pointer2019112620190816
416307856 0 018960 816 760optclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112620190816
4163019780 0 033250 920 776optgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112620190816
4672619708 0 033210 920 776optgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112620190816
4677227876 0 438968 816 131840opt_v4clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112620190816
4677227920 0 441189 920 131816opt_v4gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
499449108 0 022497 912 744optgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
499506708 0 016825 912 744optgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
499506860 0 017049 912 744optgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112620190816
4995027564 0 437813 920 131816opt_v4gcc_-O_-fomit-frame-pointer2019112620190816
4995027568 0 437821 920 131816opt_v4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112620190816
541196856 0 017049 912 744optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112620190816
7015828532 0 438081 904 131816opt_v4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112620190816
7492526196 0 436373 920 131816opt_v4gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112620190816
818516484 0 015973 896 744optgcc_-Os_-fomit-frame-pointer2019112620190816
8325054220 0 466729 904 131824opt_v4gcc2019112620190816
915759108 0 022497 912 744optgcc_-funroll-loops_-O_-fomit-frame-pointer2019112620190816
10659610948 0 023397 896 744optgcc2019112620190816
12905354220 0 466729 904 131824opt_v4gcc_-funroll-loops2019112620190816
13320054220 0 466729 904 131824opt_v4cc2019112620190816
19147510948 0 023397 896 744optcc2019112620190816
19147510948 0 023397 896 744optgcc_-funroll-loops2019112620190816

Compiler output

Implementation: opt
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
Nasha.c: Nasha.c:627:1: warning: control may reach end of non-void function [-Wreturn-type]
Nasha.c: }
Nasha.c: ^
Nasha.c: Nasha.c:646:1: warning: control may reach end of non-void function [-Wreturn-type]
Nasha.c: }
Nasha.c: ^
Nasha.c: 2 warnings generated.

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

Compiler output

Implementation: opt_v4
Security model: unknown
Compiler: cc
Nasha.c: Nasha.c: In function 'Init':
Nasha.c: Nasha.c:815:29: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
Nasha.c: ssbox[i][j] = ssbox[i^j];
Nasha.c: ^

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

Compiler output

Implementation: opt_v4
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
Nasha.c: Nasha.c:815:29: warning: incompatible pointer to integer conversion assigning to 'uint_16t' (aka 'unsigned short') from 'uint_16t [256]' [-Wint-conversion]
Nasha.c: ssbox[i][j] = ssbox[i^j];
Nasha.c: ^ ~~~~~~~~~~
Nasha.c: Nasha.c:854:1: warning: control may reach end of non-void function [-Wreturn-type]
Nasha.c: }
Nasha.c: ^
Nasha.c: Nasha.c:873:1: warning: control may reach end of non-void function [-Wreturn-type]
Nasha.c: }
Nasha.c: ^
Nasha.c: 3 warnings generated.

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