Implementation notes: aarch64, supercoplxc, crypto_aead/hs1sivv2

Computer: supercoplxc
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: hs1sivv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3096014060 0 031129 936 880fastergcc_-O3_-fomit-frame-pointer2019090620190816
3312013092 0 030780 816 888fasterclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019090620190816
3312013092 0 030780 816 888fasterclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019090620190816
3320013092 0 030716 816 888fasterclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019090620190816
3320013092 0 030780 816 888fasterclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019090620190816
3808013296 0 031004 816 888fasterclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090620190816
523205138 0 022742 816 888refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019090620190816
523205138 0 022742 816 888refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019090620190816
524005138 0 022742 816 888refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019090620190816
526405138 0 022686 816 888refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019090620190816
533605218 0 022830 816 888refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090620190816
648806793 0 025233 936 880refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019090620190816
719205985 0 023073 936 880refgcc_-O3_-fomit-frame-pointer2019090620190816
764006001 0 023832 928 864refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019090620190816
771206057 0 023984 928 864refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090620190816
795206081 0 023161 936 880refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090620190816
856806897 0 025305 936 880refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090620190816
1102403986 0 018897 920 856refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019090620190816
1104803986 0 018897 920 856refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090620190816
1140804393 0 020184 928 864refgcc_-O2_-fomit-frame-pointer2019090620190816
1156003998 0 018849 920 856refgcc_-Os_-fomit-frame-pointer2019090620190816
1156003998 0 018849 920 856refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090620190816
1235204425 0 020160 928 864refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090620190816
1787207493 0 026697 936 864refgcc_-funroll-loops_-O_-fomit-frame-pointer2019090620190816
1789607493 0 026697 936 864refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019090620190816
1912005241 0 021225 936 864refgcc_-O_-fomit-frame-pointer2019090620190816
1912005241 0 021225 936 864refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019090620190816
45240015140 0 041680 912 864fastercc2019090620190816
45240015140 0 041680 912 864fastergcc_-funroll-loops2019090620190816
9695208708 0 035265 920 864refcc2019090620190816
9696008708 0 035265 920 864refgcc2019090620190816
9701608708 0 035265 920 864refgcc_-funroll-loops2019090620190816

Test failure

Implementation: faster
Security model: unknown
Compiler: gcc
error 111

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
gcc faster
gcc -O -fomit-frame-pointer faster
gcc -fno-schedule-insns -O -fomit-frame-pointer faster
gcc -funroll-loops -O -fomit-frame-pointer faster
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer faster

Test failure

Implementation: faster
Security model: unknown
Compiler: gcc -O2 -fomit-frame-pointer
error 111
crypto_aead_decrypt returns nonzero

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer faster
gcc -Os -fomit-frame-pointer faster
gcc -fno-schedule-insns -O2 -fomit-frame-pointer faster
gcc -fno-schedule-insns -O3 -fomit-frame-pointer faster
gcc -fno-schedule-insns -Os -fomit-frame-pointer faster
gcc -funroll-loops -O2 -fomit-frame-pointer faster
gcc -funroll-loops -Os -fomit-frame-pointer faster
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer faster
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer faster
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer faster

Compiler output

Implementation: faster
Security model: unknown
Compiler: cc
hs1.c: hs1.c: In function 'hs1siv_decrypt':
hs1.c: hs1.c:1033:30: warning: implicit declaration of function 'malloc' [-Wimplicit-function-declaration]
hs1.c: unsigned char *tmp = malloc(abytes);
hs1.c: ^~~~~~
hs1.c: hs1.c:1033:30: warning: incompatible implicit declaration of built-in function 'malloc'
hs1.c: hs1.c:1033:30: note: include '<stdlib.h>' or provide a declaration of 'malloc'
hs1.c: hs1.c:31:1:
hs1.c: +#include <stdlib.h>
hs1.c: #endif
hs1.c: hs1.c:1033:30:
hs1.c: unsigned char *tmp = malloc(abytes);
hs1.c: ^~~~~~
hs1.c: hs1.c:1037:9: warning: implicit declaration of function 'free' [-Wimplicit-function-declaration]
hs1.c: free(tmp);
hs1.c: ^~~~
hs1.c: hs1.c:1037:9: warning: incompatible implicit declaration of built-in function 'free'
hs1.c: hs1.c:1037:9: note: include '<stdlib.h>' or provide a declaration of 'free'

Number of similar (compiler,implementation) pairs: 19, namely:
CompilerImplementations
cc faster
gcc faster
gcc -O2 -fomit-frame-pointer faster
gcc -O3 -fomit-frame-pointer faster
gcc -O -fomit-frame-pointer faster
gcc -Os -fomit-frame-pointer faster
gcc -fno-schedule-insns -O2 -fomit-frame-pointer faster
gcc -fno-schedule-insns -O3 -fomit-frame-pointer faster
gcc -fno-schedule-insns -O -fomit-frame-pointer faster
gcc -fno-schedule-insns -Os -fomit-frame-pointer faster
gcc -funroll-loops faster
gcc -funroll-loops -O2 -fomit-frame-pointer faster
gcc -funroll-loops -O3 -fomit-frame-pointer faster
gcc -funroll-loops -O -fomit-frame-pointer faster
gcc -funroll-loops -Os -fomit-frame-pointer faster
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer faster
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer faster
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer faster
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer faster

Compiler output

Implementation: faster
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
hs1.c: hs1.c:1033:30: warning: implicitly declaring library function 'malloc' with type 'void *(unsigned long)' [-Wimplicit-function-declaration]
hs1.c: unsigned char *tmp = malloc(abytes);
hs1.c: ^
hs1.c: hs1.c:1033:30: note: include the header <stdlib.h> or explicitly provide a declaration for 'malloc'
hs1.c: hs1.c:1037:9: warning: implicit declaration of function 'free' is invalid in C99 [-Wimplicit-function-declaration]
hs1.c: free(tmp);
hs1.c: ^
hs1.c: 2 warnings generated.

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