Implementation notes: aarch64, hikey960, crypto_aead/pi64cipher128v1

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: pi64cipher128v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
0321164 0 0342404 936 1120optimized_nonSSEgcc2019112920190816
53298117684 0 0133352 952 1120optimized_nonSSEgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112920190816
8325081312 0 093976 952 1120optimized_nonSSEgcc_-O2_-fomit-frame-pointer2019112920190816
83250119704 0 0135633 960 1152optimized_nonSSEgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112920190816
9990082116 0 094784 952 1120optimized_nonSSEgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112920190816
99900115516 0 0129865 960 1152optimized_nonSSEgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112920190816
10822582228 0 094832 952 1120optimized_nonSSEgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112920190816
12436251196 0 065468 952 1024refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112920190816
124875116932 0 0132905 960 1152optimized_nonSSEgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112920190816
12487578128 0 090141 944 1120optimized_nonSSEgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112920190816
124875101828 0 0114592 952 1120optimized_nonSSEgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112920190816
14985027388 0 039320 936 992refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112920190816
17068364752 0 080307 944 992refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112920190816
17482567576 0 083163 944 992refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112920190816
18315033888 0 046411 944 992refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112920190816
18315049696 0 065579 944 992refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112920190816
186920115620 0 0129977 960 1152optimized_nonSSEgcc_-O3_-fomit-frame-pointer2019112920190816
186920101812 0 0114576 952 1120optimized_nonSSEgcc_-O_-fomit-frame-pointer2019112920190816
18708852720 0 068612 952 1024refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112920190816
19147578156 0 090141 944 1120optimized_nonSSEgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112920190816
19147578128 0 090141 944 1120optimized_nonSSEgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112920190816
19878152028 0 066260 952 1024refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112920190816
20815053696 0 069548 952 1024refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112920190816
22891027388 0 039296 936 992refgcc_-Os_-fomit-frame-pointer2019112920190816
23310027388 0 039296 936 992refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112920190816
24142578156 0 090141 944 1120optimized_nonSSEgcc_-Os_-fomit-frame-pointer2019112920190816
249780117308 0 0132944 952 1120optimized_nonSSEgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112920190816
25724636748 0 049339 944 992refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112920190816
25810649696 0 065579 944 992refgcc_-funroll-loops_-O_-fomit-frame-pointer2019112920190816
26226927388 0 039296 936 992refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112920190816
274725118296 0 0132601 960 1152optimized_nonSSEgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112920190816
283050101812 0 0114576 952 1120optimized_nonSSEgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112920190816
324714114992 0 0130952 952 1120optimized_nonSSEgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112920190816
35079032324 0 045011 944 992refgcc_-O_-fomit-frame-pointer2019112920190816
357975114992 0 0130952 952 1120optimized_nonSSEgcc_-funroll-loops_-O_-fomit-frame-pointer2019112920190816
36248378156 0 090141 944 1120optimized_nonSSEgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112920190816
38295051092 0 065372 952 1024refgcc_-O3_-fomit-frame-pointer2019112920190816
49110632324 0 045011 944 992refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112920190816
49117527388 0 039320 936 992refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112920190816
56610036668 0 049259 944 992refgcc_-O2_-fomit-frame-pointer2019112920190816
616124321164 0 0342404 936 1120optimized_nonSSEgcc_-funroll-loops2019112920190816
65767532340 0 045027 944 992refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112920190816
865282321164 0 0342404 936 1120optimized_nonSSEcc2019112920190816
2680650121660 0 0142823 928 992refcc2019112920190816
2768395121660 0 0142823 928 992refgcc2019112920190816
2822175121660 0 0142823 928 992refgcc_-funroll-loops2019112920190816

Test failure

Implementation: optimized_nonSSE
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
error 111
crypto_aead_decrypt returns nonzero

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

Compiler output

Implementation: optimized_nonSSE
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:346:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:448:68: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: c[CRYPTO_NSECBYTES+b+i] = InternalState8[i1] = InternalState8[i1++] ^ m[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:593:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: 3 warnings generated.

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

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:231:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:333:68: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: c[CRYPTO_NSECBYTES+b+i] = InternalState8[i1] = InternalState8[i1++] ^ m[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:478:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: 3 warnings generated.

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