Implementation notes: aarch64, supercoplxc, crypto_hash/nasha256

Computer: supercoplxc
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_hash
Primitive: nasha256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2904030112 0 442009 904 131832opt_v4gcc_-O3_-fomit-frame-pointer2019090120190816
2920025400 0 435992 896 131816opt_v4gcc_-O2_-fomit-frame-pointer2019090120190816
3016034156 0 447425 904 131832opt_v4gcc_-funroll-loops_-O3_-fomit-frame-pointer2019090120190816
3032027000 0 439664 896 131816opt_v4gcc_-funroll-loops_-O2_-fomit-frame-pointer2019090120190816
3344039428 0 450246 800 131848opt_v4clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090120190816
3344033136 0 446377 904 131832opt_v4gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090120190816
3360025928 0 438680 896 131816opt_v4gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090120190816
3432025540 0 435416 880 131808opt_v4gcc_-funroll-loops_-Os_-fomit-frame-pointer2019090120190816
3440025540 0 435416 880 131808opt_v4gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090120190816
3496039424 0 450190 800 131848opt_v4clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019090120190816
3496039424 0 450238 800 131848opt_v4clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019090120190816
3504039424 0 450238 800 131848opt_v4clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019090120190816
3504039424 0 450238 800 131848opt_v4clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019090120190816
3584029020 0 440897 904 131832opt_v4gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090120190816
3592024264 0 434792 896 131816opt_v4gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090120190816
364009408 0 022048 888 744optgcc_-funroll-loops_-O2_-fomit-frame-pointer2019090120190816
3872016200 0 029457 896 760optgcc_-funroll-loops_-O3_-fomit-frame-pointer2019090120190816
3888012600 0 024473 896 760optgcc_-O3_-fomit-frame-pointer2019090120190816
400007504 0 018064 888 744optgcc_-O2_-fomit-frame-pointer2019090120190816
407209256 0 021984 888 744optgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090120190816
4096016104 0 029321 896 760optgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090120190816
413607096 0 016952 872 736optgcc_-funroll-loops_-Os_-fomit-frame-pointer2019090120190816
413607096 0 016952 872 736optgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090120190816
4232025556 0 435368 880 131808opt_v4gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090120190816
4240025556 0 435368 880 131808opt_v4gcc_-Os_-fomit-frame-pointer2019090120190816
4432012536 0 024393 896 760optgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090120190816
444007116 0 016912 872 736optgcc_-Os_-fomit-frame-pointer2019090120190816
444007116 0 016912 872 736optgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090120190816
466407392 0 017896 888 744optgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090120190816
485609764 0 022614 800 768optclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019090120190816
485609764 0 022614 800 768optclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019090120190816
485609764 0 022614 800 768optclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019090120190816
486409752 0 022550 800 768optclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019090120190816
4880010064 0 022918 800 768optclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090120190816
5960027424 0 438080 896 131816opt_v4gcc_-O_-fomit-frame-pointer2019090120190816
5960027424 0 438080 896 131816opt_v4gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019090120190816
6024029208 0 443088 896 131816opt_v4gcc_-funroll-loops_-O_-fomit-frame-pointer2019090120190816
6024029208 0 443088 896 131816opt_v4gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019090120190816
6504010020 0 023872 888 744optgcc_-funroll-loops_-O_-fomit-frame-pointer2019090120190816
6504010020 0 023872 888 744optgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019090120190816
735207992 0 018632 888 744optgcc_-O_-fomit-frame-pointer2019090120190816
735207992 0 018632 888 744optgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019090120190816
14320055164 0 467976 880 131824opt_v4cc2019090120190816
14320055164 0 467976 880 131824opt_v4gcc2019090120190816
14320055164 0 467976 880 131824opt_v4gcc_-funroll-loops2019090120190816
21464011716 0 024504 872 744optcc2019090120190816
21472011716 0 024504 872 744optgcc2019090120190816
21472011716 0 024504 872 744optgcc_-funroll-loops2019090120190816

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: 5, 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
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -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 to 'uint_16t' {aka 'short unsigned int'} from 'uint_16t *' {aka 'short unsigned int *'} 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: 19, 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

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: 5, 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
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments opt_v4