Implementation notes: aarch64, supercoplxc, crypto_aead/hs1sivhiv2

Computer: supercoplxc
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: hs1sivhiv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
4936016012 0 034441 936 880fastergcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090620190816
5008014808 0 031945 936 880fastergcc_-O3_-fomit-frame-pointer2019090620190816
504009948 0 027670 816 888dolbeau/armv8cryptoclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090620190816
5232016100 0 034553 936 880fastergcc_-funroll-loops_-O3_-fomit-frame-pointer2019090620190816
567209884 0 027590 816 888dolbeau/armv8cryptoclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019090620190816
568009884 0 027542 816 888dolbeau/armv8cryptoclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019090620190816
568009884 0 027590 816 888dolbeau/armv8cryptoclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019090620190816
568009884 0 027590 816 888dolbeau/armv8cryptoclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019090620190816
5856019960 0 035720 928 864dolbeau/armv8cryptogcc_-O2_-fomit-frame-pointer2019090620190816
5856023156 0 040201 936 880dolbeau/armv8cryptogcc_-O3_-fomit-frame-pointer2019090620190816
5904024044 0 041864 928 864dolbeau/armv8cryptogcc_-funroll-loops_-O2_-fomit-frame-pointer2019090620190816
5904024684 0 043081 936 880dolbeau/armv8cryptogcc_-funroll-loops_-O3_-fomit-frame-pointer2019090620190816
6176014412 0 032124 816 888fasterclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090620190816
6304014332 0 032028 816 888fasterclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019090620190816
6304014332 0 032028 816 888fasterclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019090620190816
6312014332 0 031964 816 888fasterclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019090620190816
6312014332 0 032028 816 888fasterclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019090620190816
6344024716 0 043081 936 880dolbeau/armv8cryptogcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090620190816
6360024088 0 042000 928 864dolbeau/armv8cryptogcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090620190816
644008216 0 023112 912 856dolbeau/armv8cryptogcc_-funroll-loops_-Os_-fomit-frame-pointer2019090620190816
644808216 0 023112 912 856dolbeau/armv8cryptogcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090620190816
647208248 0 023088 912 856dolbeau/armv8cryptogcc_-Os_-fomit-frame-pointer2019090620190816
647208248 0 023088 912 856dolbeau/armv8cryptogcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090620190816
6552023120 0 040145 936 880dolbeau/armv8cryptogcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090620190816
6568019984 0 035696 928 864dolbeau/armv8cryptogcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090620190816
812005182 0 022782 816 888refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019090620190816
812005302 0 022966 816 888refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090620190816
818405182 0 022830 816 888refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019090620190816
820005182 0 022830 816 888refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019090620190816
8224025088 0 044176 928 864dolbeau/armv8cryptogcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019090620190816
8232020428 0 036288 928 864dolbeau/armv8cryptogcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019090620190816
8232025088 0 044176 928 864dolbeau/armv8cryptogcc_-funroll-loops_-O_-fomit-frame-pointer2019090620190816
8240020428 0 036288 928 864dolbeau/armv8cryptogcc_-O_-fomit-frame-pointer2019090620190816
825605182 0 022830 816 888refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019090620190816
8656013676 0 032921 936 864fastergcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019090620190816
933605673 0 028233 936 880refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019090620190816
996004865 0 021977 936 880refgcc_-O3_-fomit-frame-pointer2019090620190816
1060806241 0 024104 928 864refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019090620190816
1078406289 0 024256 928 864refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090620190816
1120004937 0 022033 936 880refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090620190816
1288005745 0 024177 936 880refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090620190816
1442404082 0 019033 920 856refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090620190816
1443204082 0 019033 920 856refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019090620190816
1476804585 0 020416 928 864refgcc_-O2_-fomit-frame-pointer2019090620190816
1525604094 0 018985 920 856refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090620190816
1532004094 0 018985 920 856refgcc_-Os_-fomit-frame-pointer2019090620190816
1574404633 0 020408 928 864refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090620190816
2578407621 0 026857 936 864refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019090620190816
2580007621 0 026857 936 864refgcc_-funroll-loops_-O_-fomit-frame-pointer2019090620190816
2676805373 0 021393 936 864refgcc_-O_-fomit-frame-pointer2019090620190816
2684805373 0 021393 936 864refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019090620190816
69800015544 0 038073 920 864fastercc2019090620190816
69808015544 0 038073 920 864fastergcc_-funroll-loops2019090620190816
82568040476 0 062985 920 864dolbeau/armv8cryptogcc_-funroll-loops2019090620190816
82952040476 0 062985 920 864dolbeau/armv8cryptocc2019090620190816
83528040476 0 062985 920 864dolbeau/armv8cryptogcc2019090620190816
14132809076 0 031569 920 864refgcc2019090620190816
14136009076 0 031569 920 864refcc2019090620190816
14144009076 0 031569 920 864refgcc_-funroll-loops2019090620190816

Test failure

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

Number of similar (compiler,implementation) pairs: 4, 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

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: 8, 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 -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 -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