Implementation notes: aarch64, supercoplxc, crypto_hash/nasha512

Computer: supercoplxc
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_hash
Primitive: nasha512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3320030112 0 442137 904 131832opt_v4gcc_-O3_-fomit-frame-pointer2019090120190816
3336025400 0 436096 896 131816opt_v4gcc_-O2_-fomit-frame-pointer2019090120190816
3344034156 0 447553 904 131832opt_v4gcc_-funroll-loops_-O3_-fomit-frame-pointer2019090120190816
3376027000 0 439776 896 131816opt_v4gcc_-funroll-loops_-O2_-fomit-frame-pointer2019090120190816
3600033136 0 446505 904 131832opt_v4gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090120190816
3624025928 0 438784 896 131816opt_v4gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090120190816
3648039428 0 450246 800 131848opt_v4clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090120190816
3768039424 0 450190 800 131848opt_v4clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019090120190816
3768039424 0 450238 800 131848opt_v4clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019090120190816
3768039424 0 450238 800 131848opt_v4clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019090120190816
3768039424 0 450238 800 131848opt_v4clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019090120190816
377609408 0 022160 888 744optgcc_-funroll-loops_-O2_-fomit-frame-pointer2019090120190816
3936029020 0 441025 904 131832opt_v4gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090120190816
3936025540 0 435416 880 131808opt_v4gcc_-funroll-loops_-Os_-fomit-frame-pointer2019090120190816
3936025540 0 435416 880 131808opt_v4gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090120190816
3952024264 0 434896 896 131816opt_v4gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090120190816
4096016200 0 029585 896 760optgcc_-funroll-loops_-O3_-fomit-frame-pointer2019090120190816
4136012600 0 024601 896 760optgcc_-O3_-fomit-frame-pointer2019090120190816
417607504 0 018168 888 744optgcc_-O2_-fomit-frame-pointer2019090120190816
4184016104 0 029449 896 760optgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090120190816
421609256 0 022088 888 744optgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090120190816
434407096 0 016952 872 736optgcc_-funroll-loops_-Os_-fomit-frame-pointer2019090120190816
434407096 0 016952 872 736optgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090120190816
4440012536 0 024521 896 760optgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090120190816
454407116 0 016912 872 736optgcc_-Os_-fomit-frame-pointer2019090120190816
455207116 0 016912 872 736optgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090120190816
481607392 0 018000 888 744optgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090120190816
4928010064 0 022918 800 768optclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090120190816
4968025556 0 435368 880 131808opt_v4gcc_-Os_-fomit-frame-pointer2019090120190816
4968025556 0 435368 880 131808opt_v4gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090120190816
502409752 0 022550 800 768optclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019090120190816
507209764 0 022614 800 768optclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019090120190816
507209764 0 022614 800 768optclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019090120190816
507209764 0 022614 800 768optclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019090120190816
6320029208 0 443088 896 131816opt_v4gcc_-funroll-loops_-O_-fomit-frame-pointer2019090120190816
6320029208 0 443088 896 131816opt_v4gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019090120190816
6328027424 0 438080 896 131816opt_v4gcc_-O_-fomit-frame-pointer2019090120190816
6328027424 0 438080 896 131816opt_v4gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019090120190816
6904010020 0 023872 888 744optgcc_-funroll-loops_-O_-fomit-frame-pointer2019090120190816
6904010020 0 023872 888 744optgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019090120190816
763207992 0 018632 888 744optgcc_-O_-fomit-frame-pointer2019090120190816
763207992 0 018632 888 744optgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019090120190816
15176055164 0 467976 880 131824opt_v4cc2019090120190816
15184055164 0 467976 880 131824opt_v4gcc_-funroll-loops2019090120190816
15200055164 0 467976 880 131824opt_v4gcc2019090120190816
22192011716 0 024504 872 744optcc2019090120190816
22192011716 0 024504 872 744optgcc_-funroll-loops2019090120190816
22200011716 0 024504 872 744optgcc2019090120190816

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